class BptScraper::PullFeed

Handles the fetching of data from BPTs API

Attributes

client[RW]
developer_id[RW]
client[RW]
developer_id[RW]

Public Class Methods

new(developer_id: nil, client: nil) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 10
def initialize(developer_id: nil, client: nil)
  self.developer_id = developer_id || self.class.developer_id
  self.client = client || self.class.client
  no_developer_id_error if self.developer_id.nil?
end
reset() click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 96
def self.reset
  self.developer_id = nil
  self.client = nil
end

Public Instance Methods

account_url_builder(endpoint) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 82
def account_url_builder(endpoint)
  base_url = "https://www.brownpapertickets.com/api2/#{endpoint}?id=#{developer_id}"
  base_url += "&account=#{client}" unless client.nil?
  base_url += "&event_id=#{@event_id}" unless @event_id.nil?
  base_url += "&date_id=#{@date_id}" unless @date_id.nil?
  base_url += "&price_id=#{@price_id}" unless @price_id.nil?
  base_url += "&current=1" if @only_current
  base_url
end
date_list(event_id: nil, date_id: nil) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 24
def date_list(event_id: nil, date_id: nil)
  missing_parameters_error('PullFeed', 'event_id') if event_id.nil?
  @event_id = event_id
  @date_id = date_id
  url = list_url_builder('datelist')
  response = fetch_url url
  response
end
date_sales(event_id: nil, date_id: nil) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 53
def date_sales(event_id: nil, date_id: nil)
  missing_parameters_error('PullFeed', 'client') if client.nil?
  missing_parameters_error('PullFeed', 'event_id') if event_id.nil?
  @event_id = event_id
  @date_id = date_id
  url = account_url_builder('datesales')
  response = fetch_url url
  response
end
event_list(event_id: nil) click to toggle source

returns an HTTParty response object

# File lib/bpt_scraper/pull_feed.rb, line 17
def event_list(event_id: nil)
  @event_id = event_id
  url = list_url_builder('eventlist')
  response = fetch_url url
  response
end
event_sales(event_id: nil, current: nil) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 44
def event_sales(event_id: nil, current: nil)
  missing_parameters_error('PullFeed', 'client') if client.nil?
  @event_id = event_id
  @current = current
  url = account_url_builder('eventsales')
  response = fetch_url url
  response
end
fetch_url(url) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 92
def fetch_url(url)
  HTTParty.get(url)
end
list_url_builder(endpoint) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 73
def list_url_builder(endpoint)
  base_url = "https://www.brownpapertickets.com/api2/#{endpoint}?id=#{developer_id}"
  base_url += "&client=#{client}" unless client.nil?
  base_url += "&event_id=#{@event_id}" unless @event_id.nil?
  base_url += "&date_id=#{@date_id}" unless @date_id.nil?
  base_url += "&price_id=#{@price_id}" unless @price_id.nil?
  base_url
end
order_list(event_id: nil, date_id: nil) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 63
def order_list(event_id: nil, date_id: nil)
  missing_parameters_error('PullFeed', 'client') if client.nil?
  missing_parameters_error('PullFeed', 'event_id') if event_id.nil?
  @event_id = event_id
  @date_id = date_id
  url = account_url_builder('orderlist')
  response = fetch_url url
  response
end
price_list(event_id: nil, date_id: nil, price_id: nil) click to toggle source
# File lib/bpt_scraper/pull_feed.rb, line 33
def price_list(event_id: nil, date_id: nil, price_id: nil)
  missing_parameters_error('PullFeed', 'event_id') if event_id.nil?
  missing_parameters_error('PullFeed', 'date_id') if date_id.nil?
  @event_id = event_id
  @date_id = date_id
  @price_id = price_id
  url = list_url_builder('pricelist')
  response = fetch_url url
  response
end