class Howitzer::TestmailApi::Client
A Testmail::Client object is used to communicate with the testmail.app API.
Public Class Methods
new()
click to toggle source
# File lib/howitzer/testmail_api/client.rb, line 11 def initialize @api_token = Howitzer.testmail_api_key end
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/testmail_api/client.rb, line 21 def find_message(recipient, subject) recipient = recipient.gsub(/.*\.([^@]+)@.*/, '\1') messages = filter_by_subject(messages(recipient), subject) latest_message(messages) end
Private Instance Methods
filter_by_subject(messages, subject)
click to toggle source
# File lib/howitzer/testmail_api/client.rb, line 37 def filter_by_subject(messages, subject) result_messages = [] messages['emails'].each { |msg| result_messages << msg if msg['subject'] == subject } result_messages end
latest_message(messages)
click to toggle source
# File lib/howitzer/testmail_api/client.rb, line 33 def latest_message(messages) messages[0] end
messages(recipient)
click to toggle source
# File lib/howitzer/testmail_api/client.rb, line 29 def messages(recipient) JSON.parse(RestClient.get("#{BASE_URL}&tag=#{recipient}")) end