class OdeonApi::Requester
Public Class Methods
get(action, params = {})
click to toggle source
# File lib/odeon_api/requester.rb, line 6 def get(action, params = {}) url = url_for(action, params) perform_request do parse_response(RestClient.get(url, headers)) end end
Private Class Methods
headers()
click to toggle source
# File lib/odeon_api/requester.rb, line 30 def headers {}.tap do |headers| headers['Accept'] = 'application/json' headers['Content-Type'] = 'application/json' end end
parse_response(response_body)
click to toggle source
# File lib/odeon_api/requester.rb, line 37 def parse_response(response_body) begin JSON.parse(response_body) rescue JSON::ParserError => e puts e.message end end
perform_request(&block)
click to toggle source
# File lib/odeon_api/requester.rb, line 22 def perform_request(&block) begin block.call rescue RestClient::Exception => e puts e.message end end
url_for(action, params = {})
click to toggle source
# File lib/odeon_api/requester.rb, line 15 def url_for(action, params = {}) base_url = "https://api.odeon.co.uk/android-2.1/api/" url = URI.join(base_url, action) url.query = URI.encode_www_form(params) if params url.to_s end