Class: MtbProjectApi::Client
- Inherits:
-
Object
- Object
- MtbProjectApi::Client
- Defined in:
- lib/mtb_project_api/client.rb
Constant Summary collapse
- API_ENDPOINT =
'https://www.mtbproject.com/data/'.freeze
Instance Method Summary collapse
-
#get_conditions(params = {}) ⇒ Object
Returns conditions for given trail IDs.
-
#get_local_trails(params = {}) ⇒ Object
Returns trails for a given query.
-
#get_to_dos(params = {}) ⇒ Object
Returns up to 200 of the user’s to-do trail IDs.
-
#get_trails_by_id(params = {}) ⇒ Object
Returns trails for given trail IDs.
-
#initialize(email, private_key) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(email, private_key) ⇒ Client
Returns a new instance of Client.
8 9 10 11 |
# File 'lib/mtb_project_api/client.rb', line 8 def initialize(email, private_key) @email = email @private_key = private_key end |
Instance Method Details
#get_conditions(params = {}) ⇒ Object
Returns conditions for given trail IDs.
Required Arguments: ids - one or array of trail IDs
48 49 50 |
# File 'lib/mtb_project_api/client.rb', line 48 def get_conditions(params = {}) request_by_ids("get-conditions", params) end |
#get_local_trails(params = {}) ⇒ Object
Returns trails for a given query.
Required Arguments: lat - Latitude for a given area lon - Longitude for a given area
Optional Arguments: maxDistance - Max distance, in miles, from lat, lon. Default: 30. Max: 200. maxResults - Max number of trails to return. Default: 10. Max: 500. sort - Values can be ‘quality’, ‘distance’. Default: quality. minLength - Min trail length, in miles. Default: 0 (no minimum). minStars - Min star rating, 0-4. Default: 0.
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/mtb_project_api/client.rb', line 25 def get_local_trails(params = {}) allowed_keys = [:lat, :lon, :maxDistance, :maxResults, :sort, :minLength, :minStars] request_params = params.select { |k| allowed_keys.include?(k) }.merge(key: @private_key) request( http_method: :get, endpoint: "get-trails", params: request_params ) end |
#get_to_dos(params = {}) ⇒ Object
Returns up to 200 of the user’s to-do trail IDs.
Optional Arguments: startPos - The starting index of the list to return. Defaults to 0.
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/mtb_project_api/client.rb', line 56 def get_to_dos(params = {}) request_params = params.merge({ email: @email, key: @private_key }) request( http_method: :get, endpoint: "get-to-dos", params: request_params ) end |
#get_trails_by_id(params = {}) ⇒ Object
Returns trails for given trail IDs.
Required Arguments: ids - one or array of trail IDs
40 41 42 |
# File 'lib/mtb_project_api/client.rb', line 40 def get_trails_by_id(params = {}) request_by_ids("get-trails-by-id", params) end |