Class: MemoryAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/socrates/adapters/memory_adapter.rb

Constant Summary collapse

CLIENT_ID =
"MEMORY"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMemoryAdapter

Returns a new instance of MemoryAdapter.



6
7
8
9
# File 'lib/socrates/adapters/memory_adapter.rb', line 6

def initialize
  @history = []
  @dms     = {}
end

Instance Attribute Details

#dmsObject (readonly)

Returns the value of attribute dms.



4
5
6
# File 'lib/socrates/adapters/memory_adapter.rb', line 4

def dms
  @dms
end

#historyObject (readonly)

Returns the value of attribute history.



4
5
6
# File 'lib/socrates/adapters/memory_adapter.rb', line 4

def history
  @history
end

Instance Method Details

#client_id_from_context(_context) ⇒ Object



11
12
13
# File 'lib/socrates/adapters/memory_adapter.rb', line 11

def client_id_from_context(_context)
  CLIENT_ID
end

#last_messageObject



26
27
28
# File 'lib/socrates/adapters/memory_adapter.rb', line 26

def last_message
  @history.last
end

#send_direct_message(message, user) ⇒ Object



19
20
21
22
23
24
# File 'lib/socrates/adapters/memory_adapter.rb', line 19

def send_direct_message(message, user, *)
  user = user.id if user.respond_to?(:id)

  @dms[user] = [] unless @dms.key?(user)
  @dms[user] << message
end

#send_message(message) ⇒ Object



15
16
17
# File 'lib/socrates/adapters/memory_adapter.rb', line 15

def send_message(message, *)
  @history << message
end