Class: MailHandler::Receiver

Inherits:
Object
  • Object
show all
Includes:
MailHandler::Receiving::Observer
Defined in:
lib/mailhandler/receiver.rb

Overview

handling receiving email

Defined Under Namespace

Modules: DEFAULTS Classes: Search

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from MailHandler::Receiving::Observer

#add_observer, #delete_observer, #init_observer, #notify_observers, #observers

Constructor Details

#initialize(checker) ⇒ Receiver



35
36
37
38
39
# File 'lib/mailhandler/receiver.rb', line 35

def initialize(checker)
  @checker = checker
  @max_search_duration = DEFAULTS::MAX_SEARCH_DURATION
  @search_frequency = DEFAULTS::SEARCH_FREQUENCY
end

Instance Attribute Details

#checkerObject

Returns the value of attribute checker.



13
14
15
# File 'lib/mailhandler/receiver.rb', line 13

def checker
  @checker
end

#max_search_durationObject

Returns the value of attribute max_search_duration.



13
14
15
# File 'lib/mailhandler/receiver.rb', line 13

def max_search_duration
  @max_search_duration
end

#searchObject

Returns the value of attribute search.



13
14
15
# File 'lib/mailhandler/receiver.rb', line 13

def search
  @search
end

#search_frequencyObject

Returns the value of attribute search_frequency.



13
14
15
# File 'lib/mailhandler/receiver.rb', line 13

def search_frequency
  @search_frequency
end

Instance Method Details

#find_email(options) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/mailhandler/receiver.rb', line 41

def find_email(options)
  init_search_details(options)
  checker.start

  until search_time_expired?
    break if single_search(options)

    sleep search_frequency
  end

  notify_observers(search)
  checker.search_result
ensure
  checker.stop
end