lib/itunes/configuration.rb in itunes-0.5.5 vs lib/itunes/configuration.rb in itunes-0.6.0

- old
+ new

@@ -4,28 +4,34 @@ module ITunes # Defines constants and methods related to configuration module Configuration # An array of valid keys in the options hash when configuring - VALID_OPTIONS_KEYS = [:adapter, :endpoint, :limit, :user_agent].freeze + VALID_OPTIONS_KEYS = [:adapter, :endpoint, :limit, :user_agent, :request_options].freeze # The adapter that will be used to connect if none is set # # @note The default faraday adapter is Net::HTTP. DEFAULT_ADAPTER = Faraday.default_adapter # The endpoint that will be used to connect if none is set - DEFAULT_ENDPOINT = 'http://ax.itunes.apple.com'.freeze + DEFAULT_ENDPOINT = 'https://itunes.apple.com'.freeze # The user agent that will be sent to the API endpoint if none is set DEFAULT_USER_AGENT = "ITunes Ruby Gem #{ITunes::VERSION}".freeze # The default number of results to return from the API # # @note The default limit from iTunes is 100. DEFAULT_LIMIT = nil + # The default request options for Faraday + DEFAULT_REQUEST_OPTIONS = { + :timeout => 5, + :open_timeout => 5 + } + # @private attr_accessor *VALID_OPTIONS_KEYS # When this module is extended, set all configuration options to their default values def self.extended(base) @@ -44,13 +50,14 @@ end end # Reset all configuration options to defaults def reset - self.adapter = DEFAULT_ADAPTER - self.endpoint = DEFAULT_ENDPOINT - self.limit = DEFAULT_LIMIT - self.user_agent = DEFAULT_USER_AGENT + self.adapter = DEFAULT_ADAPTER + self.endpoint = DEFAULT_ENDPOINT + self.limit = DEFAULT_LIMIT + self.user_agent = DEFAULT_USER_AGENT + self.request_options = DEFAULT_REQUEST_OPTIONS self end end end