class Howitzer::OnesecmailApi::Client

A Onesecmail::Client object is used to communicate with the 1secMail API.

Public Instance Methods

find_message(recipient, subject) click to toggle source

Finds message according to given parameters

@param recipient [String] this is recipient mail address for message filtering @param subject [String] this is subject of the message to filter particular message @return [Hash] json message parsed to ruby hash

# File lib/howitzer/onesecmail_api/client.rb, line 16
def find_message(recipient, subject)
  messages = filter_by_subject(recipient[/[^@]+/], subject)
  latest_message(messages)
end

Private Instance Methods

filter_by_subject(recipient_name, subject) click to toggle source
# File lib/howitzer/onesecmail_api/client.rb, line 32
def filter_by_subject(recipient_name, subject)
  result_messages = []
  messages(recipient_name).each do |msg|
    if msg['subject'] == subject
      result_messages << JSON.parse(RestClient.get("#{BASE_URL}?action=readMessage&login=#{recipient_name}" \
                                                   "&domain=#{Howitzer.onesecmail_domain}&id=#{msg['id']}"))
    end
  end
  result_messages
end
latest_message(messages) click to toggle source
# File lib/howitzer/onesecmail_api/client.rb, line 28
def latest_message(messages)
  messages[0]
end
messages(recipient_name) click to toggle source
# File lib/howitzer/onesecmail_api/client.rb, line 23
def messages(recipient_name)
  JSON.parse(RestClient.get("#{BASE_URL}?action=getMessages&login=#{recipient_name}" \
                            "&domain=#{Howitzer.onesecmail_domain}"))
end