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/ezleagues/event.rb,
lib/schedule-scraper/pointstreak/event.rb,
lib/schedule-scraper/ezleagues/schedule.rb,
lib/schedule-scraper/pointstreak/schedule.rb

Defined Under Namespace

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

Constant Summary collapse

VERSION =
"0.5.0"

Class Method Summary collapse

Class Method Details

.fetch(type, url) ⇒ Object



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

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



29
30
31
32
33
34
# File 'lib/schedule-scraper.rb', line 29

def self.supported_schedules
  [
    :pointstreak,
    :ezleagues
  ]
end

.type_class(type) ⇒ Object



22
23
24
25
26
27
# File 'lib/schedule-scraper.rb', line 22

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

.valid_url?(url) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
39
40
41
# File 'lib/schedule-scraper.rb', line 36

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