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