class SJCBusSchedule::Parser::Schedules

Public Class Methods

new(doc:) click to toggle source
# File lib/sjc_bus_schedule/parser/parser.rb, line 33
def initialize(doc:)
  @doc = doc
end

Public Instance Methods

references() click to toggle source
# File lib/sjc_bus_schedule/parser/parser.rb, line 43
def references
  @references ||= @doc.css("span[id*=Resultado] .textosm").children.map(&:text).reject { |it| it.empty? }
end
schedules() click to toggle source
# File lib/sjc_bus_schedule/parser/parser.rb, line 37
def schedules
  @schedules ||= @doc.css("span[id*=Resultado] > table").map do |schedule|
    { period: period(schedule), hours: hours(schedule) }
  end
end

Private Instance Methods

hours(schedule) click to toggle source
# File lib/sjc_bus_schedule/parser/parser.rb, line 53
def hours(schedule)
  schedule.css("table tr:nth-of-type(n+4) td").map(&:text).reject { |it| it.empty? }
end
period(schedule) click to toggle source
# File lib/sjc_bus_schedule/parser/parser.rb, line 49
def period(schedule)
  schedule.css("table tr:first-of-type td").first.text.strip
end