Sha256: 5116301dc576786a7f935450652e81e15f9ae684fabe065a3a9736b86515ccf3
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
module TripAdvisor class API attr_accessor :base_url, :api_key attr_writer :verbose 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 def base_url=(base_url) @base_url = base_url.is_a?(String) ? Addressable::URI.parse(base_url) : base_url end def get_locales response = get(:locales) Oj.load(response)['data'] end def get_flights_locales get_locales.select { |locale| locale['is_mobile_flights_enabled'] == 'true' } end def verbose? @verbose end 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 private def puts_verbose(string) puts(string) if verbose? end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
trip_advisor-0.0.21 | lib/trip_advisor/api.rb |
trip_advisor-0.0.15 | lib/trip_advisor/api.rb |