class Ruboty::Handlers::Ehon

Constants

NAMESPACE

Public Instance Methods

add_ehon(message) click to toggle source
# File lib/ruboty/handlers/ehon.rb, line 10
def add_ehon(message)
  title = message[:title]
  created_at = Time.now.getlocal("+09:00")
  updated_at = created_at

  if ehons.empty? || ehons.find {|ehon| ehon.has_value?(title) }
    ehons << {title: title, created_at: created_at, updated_at: updated_at, count: 0}
    message.reply("「#{title}」を追加したよ!")
  else
    message.reply("「#{title}」はもうあるよ")
  end
end
read_ehon(message) click to toggle source
# File lib/ruboty/handlers/ehon.rb, line 27
def read_ehon(message)
  title = message[:title]
  updated_at = Time.now.getlocal("+09:00")

  if ehon = ehons.find {|ehon| ehon.has_value?(title) }
    ehon.update(updated_at: updated_at)
    ehon.update(count: ehon[:count] += 1)
    message.reply("#{title}を#{ehon[:count]}回読んだよ")
  else
    message.reply("「#{title}」はリストにないからまず追加してね")
  end
end
show_ehon(message) click to toggle source
# File lib/ruboty/handlers/ehon.rb, line 23
def show_ehon(message)
  message.reply(ehons)
end

Private Instance Methods

data() click to toggle source
# File lib/ruboty/handlers/ehon.rb, line 46
def data
  robot.brain.data[NAMESPACE] ||= {}
end
ehons() click to toggle source
# File lib/ruboty/handlers/ehon.rb, line 42
def ehons
  data[:ehons] ||= []
end