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 += "¤t=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