class Sinbotra::Bot::UserRepo

Public Class Methods

connect(store=UserStore.new) click to toggle source
# File lib/sinbotra/bot/user_repo.rb, line 4
def connect(store=UserStore.new)
  @users ||= store
end
create(id) click to toggle source
# File lib/sinbotra/bot/user_repo.rb, line 16
def create(id)
  user = Sinbotra::Bot::User.new(id)
  update(user)
  user
end
find_or_create(id) click to toggle source
# File lib/sinbotra/bot/user_repo.rb, line 8
def find_or_create(id)
  user = @users[id]
  if user.nil?
    user = create(id)
  end
  user
end
messages(id) click to toggle source
# File lib/sinbotra/bot/user_repo.rb, line 43
def messages(id)
  # Get messages from message store
  $logger.debug("WIP user messages retrieval")
end
next_step!(user) click to toggle source
# File lib/sinbotra/bot/user_repo.rb, line 22
def next_step!(user)
  step = user.conversation.step + 1
  update_conversation(user, user.conversation.id, step)
end
start_conversation(user_id, convo_id) click to toggle source
# File lib/sinbotra/bot/user_repo.rb, line 27
def start_conversation(user_id, convo_id)
  user = find_or_create(user_id)
  user = update_conversation(user: user, convo_id: convo_id, step: 0)
  user
end
update(user) click to toggle source
# File lib/sinbotra/bot/user_repo.rb, line 39
def update(user)
  @users[user.id] = user
end
update_conversation(user:, convo_id:, step:) click to toggle source
# File lib/sinbotra/bot/user_repo.rb, line 33
def update_conversation(user:, convo_id:, step:)
  user.update_conversation(convo_id, step)
  update(user)
  user
end