class Sinbotra::Messenger::UserPresenter

Attributes

current_user[R]

Public Class Methods

new(sender) click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 5
def initialize(sender)
  @current_user = Sinbotra::Bot::UserRepo.find_or_create(sender.id)
end

Public Instance Methods

conversation() click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 11
def conversation
  @current_user.conversation
end
current_conversation() click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 42
def current_conversation
  current_user.conversation
end
end_conversation!() click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 37
def end_conversation!
  current_user.end_conversation
  Sinbotra::Bot::UserRepo.update(current_user)
end
id() click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 9
def id; current_user.id; end
in_conversation?() click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 15
def in_conversation?
  !current_conversation.nil?
end
next_step!() click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 23
def next_step!
  convo = current_user.conversation
  id, step = convo.id, convo.step + 1
  update_conversation(id, step)
end
start_conversation(convo_id) click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 19
def start_conversation(convo_id)
  update_conversation(convo_id, 0)
end
update_conversation(convo_id, step) click to toggle source
# File lib/sinbotra/messenger/user_presenter.rb, line 29
def update_conversation(convo_id, step)
  Sinbotra::Bot::UserRepo.update_conversation(
    user:     current_user,
    convo_id: convo_id,
    step:     step
  )
end