Class: Webspicy::Tester::Fakesmtp
- Inherits:
-
Object
- Object
- Webspicy::Tester::Fakesmtp
- Includes:
- Support::World::Item
- Defined in:
- lib/webspicy/tester/fakesmtp.rb,
lib/webspicy/tester/fakesmtp/email.rb
Defined Under Namespace
Classes: Email
Constant Summary collapse
- DEFAULT_OPTIONS =
{ endpoint: "http://fakesmtp" }
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Attributes included from Support::World::Item
Instance Method Summary collapse
- #clear! ⇒ Object
- #emails ⇒ Object
- #emails_count ⇒ Object
- #endpoint ⇒ Object
-
#initialize(options = {}) ⇒ Fakesmtp
constructor
A new instance of Fakesmtp.
- #last_email ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Fakesmtp
Returns a new instance of Fakesmtp.
10 11 12 |
# File 'lib/webspicy/tester/fakesmtp.rb', line 10 def initialize( = {}) @options = DEFAULT_OPTIONS.merge() end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
13 14 15 |
# File 'lib/webspicy/tester/fakesmtp.rb', line 13 def @options end |
Instance Method Details
#clear! ⇒ Object
19 20 21 |
# File 'lib/webspicy/tester/fakesmtp.rb', line 19 def clear! res = HTTP.delete("#{endpoint}/emails") end |
#emails ⇒ Object
23 24 25 26 |
# File 'lib/webspicy/tester/fakesmtp.rb', line 23 def emails res = HTTP.get("#{endpoint}/emails") JSON.parse(res.body).map{|data| Email.new(data) } end |
#emails_count ⇒ Object
28 29 30 |
# File 'lib/webspicy/tester/fakesmtp.rb', line 28 def emails_count emails.length end |
#endpoint ⇒ Object
15 16 17 |
# File 'lib/webspicy/tester/fakesmtp.rb', line 15 def endpoint [:endpoint] end |
#last_email ⇒ Object
32 33 34 |
# File 'lib/webspicy/tester/fakesmtp.rb', line 32 def last_email emails.first end |