module RJR::HasMessages::ClassMethods

Public Instance Methods

clear_messages() click to toggle source

Clear preformatted messages

# File lib/rjr/util/has_messages.rb, line 34
def clear_messages
  @rjr_messages = {}
end
message(id, msg=nil) click to toggle source

Mechanism to register / retrieve preformatted message

@param [Symbol] id id of message to get / set @param [String] msg optional preformatted message to store @return [String] json rpc message

# 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) click to toggle source

Return random message from registry.

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

# 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