lib/googleauth/signet.rb in googleauth-0.8.0 vs lib/googleauth/signet.rb in googleauth-0.8.1

- old
+ new

@@ -25,68 +25,68 @@ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -require 'signet/oauth_2/client' +require "signet/oauth_2/client" module Signet # OAuth2 supports OAuth2 authentication. module OAuth2 AUTH_METADATA_KEY = :authorization # Signet::OAuth2::Client creates an OAuth2 client # # This reopens Client to add #apply and #apply! methods which update a # hash with the fetched authentication token. class Client - def configure_connection(options) + def configure_connection options @connection_info = options[:connection_builder] || options[:default_connection] self end # Updates a_hash updated with the authentication token - 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) + fetch_access_token! opts if access_token.nil? || expires_within?(60) a_hash[AUTH_METADATA_KEY] = "Bearer #{access_token}" end # Returns a clone of a_hash updated with the authentication token - def apply(a_hash, opts = {}) + def apply a_hash, opts = {} a_copy = a_hash.clone - apply!(a_copy, opts) + apply! a_copy, opts a_copy end # Returns a reference to the #apply method, suitable for passing as # a closure def updater_proc lambda(&method(:apply)) end - def on_refresh(&block) + def on_refresh &block @refresh_listeners ||= [] @refresh_listeners << block end alias orig_fetch_access_token! fetch_access_token! - def fetch_access_token!(options = {}) + def fetch_access_token! options = {} unless options[:connection] connection = build_default_connection - options = options.merge(connection: connection) if connection + options = options.merge connection: connection if connection end - info = orig_fetch_access_token!(options) + info = orig_fetch_access_token! options notify_refresh_listeners info end def notify_refresh_listeners listeners = @refresh_listeners || [] listeners.each do |block| - block.call(self) + block.call self end end def build_default_connection if !defined?(@connection_info) @@ -96,26 +96,24 @@ else @connection_info end end - def retry_with_error(max_retry_count = 5) + def retry_with_error max_retry_count = 5 retry_count = 0 begin yield - rescue => e - if e.is_a?(Signet::AuthorizationError) || e.is_a?(Signet::ParseError) - raise e - end + rescue StandardError => e + raise e if e.is_a?(Signet::AuthorizationError) || e.is_a?(Signet::ParseError) if retry_count < max_retry_count retry_count += 1 sleep retry_count * 0.3 retry else msg = "Unexpected error: #{e.inspect}" - raise(Signet::AuthorizationError, msg) + raise Signet::AuthorizationError, msg end end end end end