class TripAdvisor::API
Attributes
api_key[RW]
base_url[RW]
verbose[W]
Public Class Methods
new(options={})
click to toggle source
# File lib/trip_advisor/api.rb, line 6 def initialize(options={}) require 'rest-client' require 'addressable/uri' require 'oj' self.api_key = options[:api_key] self.base_url = options[:base_url] || ENV['TRIPADVISOR_API_BASE_URL'] || 'https://www.tripadvisor.com/api/internal/1.0/' raise "API Key cannot be nil" unless api_key end
Public Instance Methods
base_url=(base_url)
click to toggle source
# File lib/trip_advisor/api.rb, line 16 def base_url=(base_url) @base_url = base_url.is_a?(String) ? Addressable::URI.parse(base_url) : base_url end
get(method, params = {})
click to toggle source
# File lib/trip_advisor/api.rb, line 33 def get(method, params = {}) query_string = "?%s" % Addressable::URI.form_encode(params.merge('key' => api_key)) url = Addressable::URI.join(base_url, method.to_s, query_string) puts_verbose("GET URL '#{url}'") RestClient.get(url.to_s) end
get_flights_locales()
click to toggle source
# File lib/trip_advisor/api.rb, line 25 def get_flights_locales get_locales.select { |locale| locale['is_mobile_flights_enabled'] == 'true' } end
get_locales()
click to toggle source
# File lib/trip_advisor/api.rb, line 20 def get_locales response = get(:locales) Oj.load(response)['data'] end
verbose?()
click to toggle source
# File lib/trip_advisor/api.rb, line 29 def verbose? @verbose end
Private Instance Methods
puts_verbose(string)
click to toggle source
# File lib/trip_advisor/api.rb, line 41 def puts_verbose(string) puts(string) if verbose? end