Module: FibberMailman
- Defined in:
- lib/fibber_mailman.rb,
lib/fibber_mailman/version.rb
Overview
Example of use:
raw_mails = [
File.read( "/fixtures/mail1.raw_mail" ) ),
File.read( "/fixtures/mail2.raw_mail" ) ),
]
FibberMailman.lie_to_me( raw_mails ) do
<your code that uses the Net::POP3.start on any point>
end
Not any real POP call will be done.
The mock will simulate that the mails received was the fake raw_mails.
Constant Summary collapse
- VERSION =
"0.0.11"
Class Method Summary collapse
Class Method Details
.lie_to_me(raw_mails) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/fibber_mailman.rb', line 37 def self.lie_to_me( raw_mails ) @@raw_mails = raw_mails # mocking Net::POP3.class_eval do alias_method :orig_start, :start def start( *, &block ) block.call( self ) end alias_method :orig_mails, :mails def mails pop_mails = FibberMailman.raw_mails.map { |raw_mail| FibberPop.new( raw_mail ) } return pop_mails end end begin yield ensure # unmocking Net::POP3.class_eval do alias_method :start, :orig_start alias_method :mails, :orig_mails end end end |
.raw_mails ⇒ Object
33 34 35 |
# File 'lib/fibber_mailman.rb', line 33 def self.raw_mails @@raw_mails end |