Class: Yelp::Fusion::Client
- Inherits:
-
Object
- Object
- Yelp::Fusion::Client
- Includes:
- Singleton
- Defined in:
- lib/yelp/fusion/client.rb
Overview
Base class for the Yelp Client
Constant Summary collapse
- API_HOST =
'https://api.yelp.com'.freeze
Constants included from Singleton
Instance Attribute Summary collapse
-
#configuration ⇒ Object
Returns the value of attribute configuration.
Instance Method Summary collapse
-
#check_api_keys ⇒ @configuration
Checks that all the keys needed were given.
-
#configure {|@configuration| ... } ⇒ @configuration
Creates a configuration with API keys.
-
#connection ⇒ Object
API connection.
-
#initialize(option = nil) ⇒ Client
constructor
Creates an instance of the fusion client.
Constructor Details
#initialize(option = nil) ⇒ Client
Creates an instance of the fusion client
48 49 50 51 52 53 54 |
# File 'lib/yelp/fusion/client.rb', line 48 def initialize(option = nil) @configuration = nil define_request_methods return if option.nil? @configuration = Configuration.new(option) end |
Instance Attribute Details
#configuration ⇒ Object
Returns the value of attribute configuration.
42 43 44 |
# File 'lib/yelp/fusion/client.rb', line 42 def configuration @configuration end |
Instance Method Details
#check_api_keys ⇒ @configuration
Checks that all the keys needed were given
69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/yelp/fusion/client.rb', line 69 def check_api_keys if @configuration.nil? || @configuration.api_key.nil? || defined?(@configuration.api_key).nil? @configuration = nil raise Error::MissingAPIKeys else # Freeze the configuration so it cannot be modified once the gem is # configured. @configuration.freeze end end |
#configure {|@configuration| ... } ⇒ @configuration
Creates a configuration with API keys
59 60 61 62 63 64 65 |
# File 'lib/yelp/fusion/client.rb', line 59 def configure raise Error::AlreadyConfigured unless @configuration.nil? @configuration = Configuration.new yield(@configuration) check_api_keys end |
#connection ⇒ Object
API connection
84 85 86 87 88 89 90 91 92 93 |
# File 'lib/yelp/fusion/client.rb', line 84 def connection return @connection if instance_variable_defined?(:@connection) check_api_keys @connection = Faraday.new(API_HOST) do |conn| conn.request :oauth2, @configuration.api_key, token_type: :bearer # Using default http library conn.adapter :net_http end end |