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

Returns a new instance of Receiver.



37
38
39
40
41
42
# File 'lib/mailhandler/receiver.rb', line 37

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

Instance Attribute Details

#checkerObject

Returns the value of attribute checker.



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

def checker
  @checker
end

#max_search_durationObject

Returns the value of attribute max_search_duration.



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

def max_search_duration
  @max_search_duration
end

#searchObject

Returns the value of attribute search.



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

def search
  @search
end

#search_frequencyObject

Returns the value of attribute search_frequency.



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

def search_frequency
  @search_frequency
end

#validate_resultObject

Returns the value of attribute validate_result.



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

def validate_result
  @validate_result
end

Instance Method Details

#find_email(options) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/mailhandler/receiver.rb', line 44

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
  check_result
end