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