Class: Mailtruck::Receiver

Inherits:
Object
  • Object
show all
Defined in:
lib/mailtruck/receiver.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(addresses) ⇒ Receiver

Returns a new instance of Receiver.



10
11
12
13
# File 'lib/mailtruck/receiver.rb', line 10

def initialize(addresses)
  @addresses = addresses
  @emails = []
end

Class Method Details

.wait_for(addresses, block) ⇒ Object



5
6
7
8
# File 'lib/mailtruck/receiver.rb', line 5

def self.wait_for(addresses, block)
  receiver = new(addresses)
  receiver.wait(block)
end

Instance Method Details

#wait(block) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/mailtruck/receiver.rb', line 15

def wait(block)
  Timeout::timeout(Mailtruck.configuration.timeout) do
    Thread.new do
      EM.run {
        subscribe_to_addresses

        block.call
      }
    end
  end

  while(missing_emails) do
    sleep 0.1
  end

  @emails
rescue Timeout::Error => e
  raise Mailtruck::Timeout
end