Module: Teems::Services::SyncStateMutation
- Included in:
- SyncStore
- Defined in:
- lib/teems/services/sync_store.rb
Overview
Chat state mutation operations for SyncStore
Instance Method Summary collapse
- #mark_unavailable(state, chat_id, **opts) ⇒ Object
- #update_chat_state(state, chat_id, attrs:) ⇒ Object
Instance Method Details
#mark_unavailable(state, chat_id, **opts) ⇒ Object
61 62 63 64 65 66 67 |
# File 'lib/teems/services/sync_store.rb', line 61 def mark_unavailable(state, chat_id, **opts) entry = (state['chats'] ||= {})[chat_id] ||= {} apply_unavailable(entry) apply_chat_type(entry, opts[:chat_type]) apply_display_info(entry, chat_id, opts[:display_name]) state end |
#update_chat_state(state, chat_id, attrs:) ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'lib/teems/services/sync_store.rb', line 51 def update_chat_state(state, chat_id, attrs:) display_name, synced_at, count, chat_type = attrs.values_at(:display_name, :last_synced_at, :message_count, :chat_type) entry = (state['chats'] ||= {})[chat_id] ||= {} entry.merge!('last_synced_at' => synced_at.iso8601, 'message_count' => count, 'display_name' => display_name, 'chat_type' => chat_type, 'dir_name' => build_dir_name(chat_id, display_name)) state end |