class Gracenote::OnConnect::Theater

Public Class Methods

find_by_zip(zip) click to toggle source
# File lib/gracenote/on_connect.rb, line 27
def self.find_by_zip(zip)
  params = { api_key: OnConnect.configuration.api_key, zip: zip }
  self.get("theatres", params)
end
showtimes(theater_id, start_date: Date.today.to_s, days: 1, size: nil) click to toggle source
# File lib/gracenote/on_connect.rb, line 32
def self.showtimes(theater_id, start_date: Date.today.to_s, days: 1, size: nil)
  params = {
    api_key: OnConnect.configuration.api_key,
    startDate: start_date,
    numDays: days,
    imageSize: size
  }

  params.select! { |k, v| k unless v.nil? }

  self.get("theatres/#{theater_id}/showings", params)
end

Private Class Methods

get(path, params = {}) click to toggle source
# File lib/gracenote/on_connect.rb, line 47
def self.get(path, params = {})
  uri = URI("#{OnConnect.configuration.base_url}/#{path}")
  uri.query = URI.encode_www_form(params)
  response = Net::HTTP.get_response(uri)
  # binding.pry
  JSON.parse(response.body)
rescue JSON::ParserError => e
  # binding.pry
  { errors: [e.message] }
end