Class: MapQuest

Inherits:
Object
  • Object
show all
Defined in:
lib/mapquest.rb,
lib/mapquest/request.rb,
lib/mapquest/version.rb,
lib/mapquest/response.rb,
lib/mapquest/services/core.rb,
lib/mapquest/services/geocoding.rb,
lib/mapquest/services/directions.rb

Defined Under Namespace

Modules: Services Classes: Request, Response

Constant Summary collapse

VERSION =
"0.0.2"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key) ⇒ MapQuest

Returns a new instance of MapQuest.



13
14
15
# File 'lib/mapquest.rb', line 13

def initialize(key)
  @api_key = key
end

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



11
12
13
# File 'lib/mapquest.rb', line 11

def api_key
  @api_key
end

Instance Method Details

#directionsObject

Access the directions API



23
24
25
# File 'lib/mapquest.rb', line 23

def directions
  Services::Directions.new self
end

#geocodingObject

Acess the geocoding API



18
19
20
# File 'lib/mapquest.rb', line 18

def geocoding
  Services::Geocoding.new self
end

#request(method, params, response) ⇒ Object

Request handler for the web services. Creates a new request based on the API method provided, and returns a new response object. Removes any empty parameters that were provided. This method is only used internally.

Required parameters

  • method [Hash] The hash containing the API method, version and type.

  • params [Hash] The parameters used for creating the query string

  • response [Response] The response object of the API being called



33
34
35
36
37
38
# File 'lib/mapquest.rb', line 33

def request(method, params, response)
  req = Request.new method
  params.merge! :key => api_key
  params.each { |k,v| params.delete(k) if v.nil? }
  response.new req.query(params), params
end