class PxTimetable

Public Class Methods

new(filename_txt) click to toggle source
# File lib/px_timetable.rb, line 13
def initialize(filename_txt)
  @px = Polyrex.new
  @px.import filename_txt
end

Public Instance Methods

days() click to toggle source
# File lib/px_timetable.rb, line 18
def days()
  @px.records
end
next(t=Time.now) click to toggle source
# File lib/px_timetable.rb, line 22
def next(t=Time.now)

  classes_today = self.today()
  return unless classes_today

  classes = classes_today.records    

  session = classes.detect do |klass|
    ChronicBetween.new(klass.times).within? t
  end

  i = classes.index(session)

  if i and i < classes.length then
    classes[i+1]
  end

end
now(t=Time.now) click to toggle source
# File lib/px_timetable.rb, line 41
def now(t=Time.now)

  classes_today = self.today()
  return unless classes_today

  classes = classes_today.records    

  classes.detect do |klass|
    ChronicBetween.new(klass.times).within? t
  end
end
to_s() click to toggle source
# File lib/px_timetable.rb, line 53
def to_s()
  @px.to_s(header: false)
end
today(d=Date.today) click to toggle source
# File lib/px_timetable.rb, line 57
def today(d=Date.today)
  
  @px.find_by_day_title Date::DAYNAMES[d.wday]

end
tomorrow(d=Date.today+1) click to toggle source
# File lib/px_timetable.rb, line 63
def tomorrow(d=Date.today+1)
  
  @px.find_by_day_title Date::DAYNAMES[(d).wday]

end