Module: WeWhisper::Message

Extended by:
Message
Included in:
Message
Defined in:
lib/we_whisper/message.rb

Instance Method Summary collapse

Instance Method Details

#get_encrypted_content_from_message(message) ⇒ Object



31
32
33
# File 'lib/we_whisper/message.rb', line 31

def get_encrypted_content_from_message(message)
  get_value_of_key_in_message(message, "Encrypt")
end

#get_signature_from_messge(message) ⇒ Object



35
36
37
# File 'lib/we_whisper/message.rb', line 35

def get_signature_from_messge(message)
  get_value_of_key_in_message(message, "MsgSignature")
end

#get_value_of_key_in_message(message, key) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/we_whisper/message.rb', line 19

def get_value_of_key_in_message(message, key)
  case message.class.name
  when "String"
    message_hash = Hash.from_xml(message)
    message_hash[key] || message_hash["xml"][key]
  when "Hash"
    message[key] || message[key.to_sym]
  else
    raise InvalidMessageClassError, "Message can only be a String or a Hash"
  end
end

#to_xml(content, signature, timestamp, nonce) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/we_whisper/message.rb', line 10

def to_xml(content, signature, timestamp, nonce)
"""<xml>
<Encrypt><![CDATA[#{content}]]></Encrypt>
<MsgSignature><![CDATA[#{signature}]]></MsgSignature>
<TimeStamp>#{timestamp}</TimeStamp>
<Nonce><![CDATA[#{nonce}]]></Nonce>
</xml>"""
end