Class: Sinbotra::Bot::UserRepo
- Inherits:
-
Object
- Object
- Sinbotra::Bot::UserRepo
- Defined in:
- lib/sinbotra/bot/user_repo.rb
Class Method Summary collapse
- .connect(store = UserStore.new) ⇒ Object
- .create(id) ⇒ Object
- .find_or_create(id) ⇒ Object
- .messages(id) ⇒ Object
- .next_step!(user) ⇒ Object
- .start_conversation(user_id, convo_id) ⇒ Object
- .update(user) ⇒ Object
- .update_conversation(user:, convo_id:, step:) ⇒ Object
Class Method Details
.connect(store = UserStore.new) ⇒ Object
4 5 6 |
# File 'lib/sinbotra/bot/user_repo.rb', line 4 def connect(store=UserStore.new) @users ||= store end |
.create(id) ⇒ Object
16 17 18 19 20 |
# 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) ⇒ Object
8 9 10 11 12 13 14 |
# 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) ⇒ Object
43 44 45 46 |
# File 'lib/sinbotra/bot/user_repo.rb', line 43 def (id) # Get messages from message store $logger.debug("WIP user messages retrieval") end |
.next_step!(user) ⇒ Object
22 23 24 25 |
# 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) ⇒ Object
27 28 29 30 31 |
# 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) ⇒ Object
39 40 41 |
# File 'lib/sinbotra/bot/user_repo.rb', line 39 def update(user) @users[user.id] = user end |
.update_conversation(user:, convo_id:, step:) ⇒ Object
33 34 35 36 37 |
# 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 |