class Ruboty::Handlers::Rotation
Constants
- NAMESPACE
Attributes
items[W]
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/ruboty/handlers/rotation.rb, line 18 def initialize(*args) super set_current end
Public Instance Methods
add_item(message)
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 23 def add_item(message) item = message[:item] if items.include?(item) message.reply("Item #{item} already exist") else items << item message.reply("Item #{item} added") end end
current(message)
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 69 def current(message) message.reply([ ENV['ROTATION_CURRENT_PREFIX'], current_item, ENV['ROTATION_CURRENT_SUFFIX'] ].compact.join("")) end
delete_item(message)
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 34 def delete_item(message) item = message[:item] if items.include?(item) items.delete(item) message.reply("Item #{item} deleted") else message.reply("Item #{item} does not exist") end end
list_items(message)
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 45 def list_items(message) message.reply(items.join(","), code: true) end
move_to_next(message)
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 49 def move_to_next(message) index = current_index + 1 if index >= items.size set_index(0) else set_index(index) end end
move_to_prev(message)
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 59 def move_to_prev(message) index = current_index - 1 if index < 0 set_index(items.size - 1) else set_index(index) end end
Private Instance Methods
current_index()
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 83 def current_index robot.brain.data[NAMESPACE][:current_index] end
current_item()
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 79 def current_item items[current_index] end
items()
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 96 def items setup_brain robot.brain.data[NAMESPACE][:items] ||= [] end
set_current()
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 91 def set_current setup_brain robot.brain.data[NAMESPACE][:current_index] ||= 0 end
set_index(index)
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 87 def set_index(index) robot.brain.data[NAMESPACE][:current_index] = index end
setup_brain()
click to toggle source
# File lib/ruboty/handlers/rotation.rb, line 101 def setup_brain robot.brain.data[NAMESPACE] ||= {} end