Module: ScheduleScraper

Defined in:
lib/schedule-scraper.rb,
lib/schedule-scraper/event.rb,
lib/schedule-scraper/version.rb,
lib/schedule-scraper/schedule.rb,
lib/schedule-scraper/pointstreak/event.rb,
lib/schedule-scraper/pointstreak/schedule.rb

Defined Under Namespace

Modules: Event, Pointstreak, Schedule Classes: InvalidURL, UnsupportedSchedule

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

.fetch(type, url) ⇒ Object



13
14
15
16
17
18
# File 'lib/schedule-scraper.rb', line 13

def self.fetch(type, url)
  raise UnsupportedSchedule unless supported_schedules.include?(type.to_sym)
  raise InvalidURL unless valid_url?(url)

  type_class(type).fetch(url)
end

.supported_schedulesObject



26
27
28
29
30
# File 'lib/schedule-scraper.rb', line 26

def self.supported_schedules
  [
    :pointstreak
  ]
end

.type_class(type) ⇒ Object



20
21
22
23
24
# File 'lib/schedule-scraper.rb', line 20

def self.type_class(type)
  case type
  when :pointstreak then Pointstreak::Schedule
  end
end

.valid_url?(url) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
35
36
37
# File 'lib/schedule-scraper.rb', line 32

def self.valid_url?(url)
  uri = URI.parse(url)
  uri.kind_of?(URI::HTTP)
rescue URI::InvalidURIError
  false
end