Class: Allmenus::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/allmenus/connection.rb

Constant Summary collapse

API_URL =
'http://api.allmenus.com'
API_VERSION =
'2'

Class Method Summary collapse

Class Method Details

.connection(faraday_adapter = Faraday.default_adapter) ⇒ Object



6
7
8
9
10
11
# File 'lib/allmenus/connection.rb', line 6

def self.connection(faraday_adapter=Faraday.default_adapter)
  Faraday.new(url: self.url) do |faraday|
    faraday.response :logger if Allmenus.config.log_request# log the requests to stdout
    faraday.adapter faraday_adapter
  end
end

.get(params = {}) ⇒ Object



13
14
15
16
17
# File 'lib/allmenus/connection.rb', line 13

def self.get(params={})
  self.connection.get(self.uri(params)).tap do |response|
    response.env[:body] = response.body.gsub(/\t|\n/, '') #clean the dirty response
  end
end

.uri(query_params) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/allmenus/connection.rb', line 19

def self.uri query_params
  params = {
    v: API_VERSION,
    api_key: ::Allmenus.config.api_key
  }
  query_params.merge! params
  q = ::Rack::Utils.build_query query_params
  "/restaurant?#{q}"
end

.urlObject



29
30
31
# File 'lib/allmenus/connection.rb', line 29

def self.url
  API_URL
end