class Signet::OAuth2::Client
hash with the fetched authentication token.
This reopens Client to add #apply and #apply! methods which update a
Signet::OAuth2::Client creates an OAuth2 client
def apply(a_hash, opts = {})
def apply(a_hash, opts = {}) a_copy = a_hash.clone apply!(a_copy, opts) a_copy end
def apply!(a_hash, opts = {})
def apply!(a_hash, opts = {}) # fetch the access token there is currently not one, or if the client # has expired fetch_access_token!(opts) if access_token.nil? || expires_within?(60) a_hash[AUTH_METADATA_KEY] = "Bearer #{access_token}" end
def fetch_access_token!(options = {})
def fetch_access_token!(options = {}) info = orig_fetch_access_token!(options) notify_refresh_listeners info end
def notify_refresh_listeners
def notify_refresh_listeners listeners = @refresh_listeners || [] listeners.each do |block| block.call(self) end end
def on_refresh(&block)
def on_refresh(&block) @refresh_listeners ||= [] @refresh_listeners << block end
def updater_proc
Returns a reference to the #apply method, suitable for passing as
def updater_proc lambda(&method(:apply)) end