Class: Rounders::Receivers::Mail

Inherits:
Receiver
  • Object
show all
Defined in:
lib/rounders/receivers/mail.rb

Constant Summary collapse

DEFAULT_FIND_OPTION =
{
  keys: %w[NOT SEEN]
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Receiver

inherited

Class Method Details

.createObject



27
28
29
# File 'lib/rounders/receivers/mail.rb', line 27

def create
  new
end

.parserObject



36
37
38
# File 'lib/rounders/receivers/mail.rb', line 36

def parser
  ::Mail::Configuration.instance
end

.receiveObject



31
32
33
34
# File 'lib/rounders/receivers/mail.rb', line 31

def receive
  @receiver ||= create
  @receiver.receive
end

Instance Method Details

#clientObject



12
13
14
15
16
# File 'lib/rounders/receivers/mail.rb', line 12

def client
  return @client if @client
  retriever = Rounders::Receivers::Mail.parser.lookup_retriever_method(config.protocol)
  @client = retriever.new(config.mail_server_setting)
end

#optionsObject



18
19
20
# File 'lib/rounders/receivers/mail.rb', line 18

def options
  @options ||= DEFAULT_FIND_OPTION.merge(config.options)
end

#receiveObject



22
23
24
# File 'lib/rounders/receivers/mail.rb', line 22

def receive
  client.find(options).map { |message| Rounders::Mail.new(message) }
end