class Skyscanner::SkyscannerApi
Service for all SkyScanner API calls
Constants
- API_VER
- SKY_API_URL
- SKY_URL
Public Class Methods
config()
click to toggle source
# File lib/movlog/skyscanner_api.rb, line 16 def self.config return @config if @config @config = { api_key: ENV['SKY_API_KEY'] } end
config=(credentials)
click to toggle source
# File lib/movlog/skyscanner_api.rb, line 11 def self.config=(credentials) @config = {} unless @config @config.update(credentials) end
routes_info(data)
click to toggle source
# File lib/movlog/skyscanner_api.rb, line 23 def self.routes_info(data) skyscanner_routes_response = HTTP.get( route_info_url(data), params: { apiKey: config[:api_key] } ) JSON.parse(skyscanner_routes_response.to_s) end
Private Class Methods
route_date_param(outbound, inbound)
click to toggle source
# File lib/movlog/skyscanner_api.rb, line 52 def self.route_date_param(outbound, inbound) "#{outbound}/#{inbound}" end
route_env_param(market, currency, locale)
click to toggle source
# File lib/movlog/skyscanner_api.rb, line 44 def self.route_env_param(market, currency, locale) "#{market}/#{currency}/#{locale}/" end
route_info_url(data)
click to toggle source
# File lib/movlog/skyscanner_api.rb, line 35 def self.route_info_url(data) URI.join( SKY_API_URL, route_env_param(data[:market], data[:currency], data[:locale]), route_place_param(data[:origin], data[:destination]), route_date_param(data[:outbound], data[:inbound]) ) end
route_place_param(origin, destination)
click to toggle source
# File lib/movlog/skyscanner_api.rb, line 48 def self.route_place_param(origin, destination) "#{origin}/#{destination}/" end