class Rezgo::Connection
Public Class Methods
new(transcode, api_key, result_type = "raw")
click to toggle source
# File lib/rezgo/connection.rb, line 3 def initialize(transcode, api_key, result_type = "raw") raise ArgumentError, "Invalid Transcode" unless transcode.downcase.start_with?("p") raise ArgumentError, "Invalid API Key" unless api_key.match(/[a-zA-Z0-9]{3}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{3}/i) @transcode = transcode @api_key = api_key @result_type = result_type @base_url = "https://xml.rezgo.com/xml?" end
Public Instance Methods
about()
click to toggle source
# File lib/rezgo/connection.rb, line 21 def about request("about") end
classification_list()
click to toggle source
# File lib/rezgo/connection.rb, line 53 def classification_list request("classification_list") end
commit(opt_args = {})
click to toggle source
# File lib/rezgo/connection.rb, line 33 def commit(opt_args = {}) request("commit", opt_args) end
company()
click to toggle source
# File lib/rezgo/connection.rb, line 13 def company request("company") end
headers()
click to toggle source
# File lib/rezgo/connection.rb, line 17 def headers request("headers") end
modify_bookings(cancel_code, voucher_code)
click to toggle source
# File lib/rezgo/connection.rb, line 37 def modify_bookings(cancel_code, voucher_code) request("modify_bookings", {:a => "cancel", :cancel_code => cancel_code, :q => voucher_code}) end
month(uid, opt_args = {})
click to toggle source
# File lib/rezgo/connection.rb, line 45 def month(uid, opt_args = {}) request("month", opt_args.merge(:q => uid)) end
region_list()
click to toggle source
# File lib/rezgo/connection.rb, line 49 def region_list request("region_list") end
search_bookings(transaction_code)
click to toggle source
# File lib/rezgo/connection.rb, line 41 def search_bookings(transaction_code) request("search_bookings", {:q => transaction_code}) end
search_items(opt_args = {})
click to toggle source
# File lib/rezgo/connection.rb, line 25 def search_items(opt_args = {}) request("search_items", opt_args) end
Private Instance Methods
request(request_type, opt_args = {})
click to toggle source
# File lib/rezgo/connection.rb, line 59 def request(request_type, opt_args = {}) valid_reqs = ["company", "headers", "about", "search_items", "tags", "commit", "modify_bookings", "search_bookings", "month", "region_list", "classification_list"] raise ArgumentError, "Invalid Request Type" unless valid_reqs.include?(request_type.downcase) params = {:key => @api_key, :transcode => @transcode, :i => request_type} url = @base_url + params.merge(opt_args).to_query response = open(url).read @result_type == "raw" ? response : Hash.from_xml(response)["response"] end