class Lita::WeeklySchedule
Attributes
cmd[R]
day[R]
id[R]
room_id[R]
time[R]
user_id[R]
Public Class Methods
new(id:, room_id:, user_id:, day:, time:, cmd:)
click to toggle source
# File lib/lita/weekly_schedule.rb, line 5 def initialize(id:, room_id:, user_id:, day:, time:, cmd:) @id = id @room_id, @user_id = room_id, user_id @day, @time = day.to_s.to_sym, time.to_s @cmd = cmd.new if cmd end
Public Instance Methods
human()
click to toggle source
# File lib/lita/weekly_schedule.rb, line 35 def human "Weekly (id: #{@id}): #{@day} #{@time} - #{@cmd.name}" end
name()
click to toggle source
# File lib/lita/weekly_schedule.rb, line 12 def name @cmd.name end
run(*args)
click to toggle source
# File lib/lita/weekly_schedule.rb, line 16 def run(*args) @cmd.run(*args) end
to_json()
click to toggle source
# File lib/lita/weekly_schedule.rb, line 24 def to_json { id: @id, day: @day, time: @time, cmd: @cmd.name, user_id: @user_id, room_id: @room_id, }.to_json end
valid?()
click to toggle source
# File lib/lita/weekly_schedule.rb, line 20 def valid? room_id && user_id && valid_day? && valid_time? && valid_cmd? end
Private Instance Methods
valid_cmd?()
click to toggle source
# File lib/lita/weekly_schedule.rb, line 49 def valid_cmd? cmd.respond_to?(:run) end
valid_day?()
click to toggle source
# File lib/lita/weekly_schedule.rb, line 41 def valid_day? [:monday, :tuesday, :wednesday, :thursday, :friday, :saturday, :sunday].include?(day) end
valid_time?()
click to toggle source
# File lib/lita/weekly_schedule.rb, line 45 def valid_time? time.match(/\A\d\d:\d\d\Z/) end