Module: RJR::HasMessages::ClassMethods

Defined in:
lib/rjr/util/has_messages.rb

Instance Method Summary collapse

Instance Method Details

#clear_messagesObject

Clear preformatted messages



34
35
36
# File 'lib/rjr/util/has_messages.rb', line 34

def clear_messages
  @rjr_messages = {}
end

#message(id, msg = nil) ⇒ String

Mechanism to register / retrieve preformatted message

Parameters:

  • id (Symbol)

    id of message to get / set

  • msg (String) (defaults to: nil)

    optional preformatted message to store

Returns:

  • (String)

    json rpc message



27
28
29
30
31
# File 'lib/rjr/util/has_messages.rb', line 27

def message(id, msg=nil)
  @rjr_messages ||= {}
  @rjr_messages[id] = msg unless msg.nil?
  @rjr_messages[id]
end

#rand_message(transport = nil) ⇒ Object

Return random message from registry.

Optionally specify the transport which the message must accept. TODO turn this into a generic selection callback



42
43
44
45
46
47
# File 'lib/rjr/util/has_messages.rb', line 42

def rand_message(transport = nil)
  @rjr_messages ||= {}
  messages = @rjr_messages.select { |mid,m| m[:transports].nil? || transport.nil? ||
                                            m[:transports].include?(transport) }
  messages[messages.keys[rand(messages.keys.size)]]
end