capybara-email 2.2.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +28 -0
- data/lib/capybara/email/driver.rb +12 -27
- data/lib/capybara/email/version.rb +1 -1
- data/lib/capybara/node/email.rb +18 -19
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 963242d16a1cb3ba343c083fc5f94785321f4d9a
|
4
|
+
data.tar.gz: ede60982f5e7e1a1f27c03ff9fc7725377aea5b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a91967c7e2a825b4fbadc246cf1c59986418a4c67b299e36d46560db9d57d421e748205fef9e2bd032778560a28e50dcc38c9bee4114a3a22cb011f60175a15
|
7
|
+
data.tar.gz: 1bfc5e78d30473bdd2e907ba39f0fa19d51111d0871ae9c137a94d7ea45604109a67b1046e154ed0e93c141a71b9dcdcb7a934472b2ca258c2d0e45776d6d29a
|
data/README.md
CHANGED
@@ -50,6 +50,14 @@ feature 'Emailer' do
|
|
50
50
|
current_email.should have_content 'Hello Joe!'
|
51
51
|
end
|
52
52
|
|
53
|
+
scenario 'testing for a custom header' do
|
54
|
+
current_email.headers.should include 'header-key'
|
55
|
+
end
|
56
|
+
|
57
|
+
scenario 'testing for a custom header value' do
|
58
|
+
current_email.header('header-key').should eq 'header_value'
|
59
|
+
end
|
60
|
+
|
53
61
|
scenario 'view the email body in your browser' do
|
54
62
|
# the `launchy` gem is required
|
55
63
|
current_email.save_and_open
|
@@ -127,6 +135,14 @@ class EmailTriggerControllerTest < ActionController::IntegrationTest
|
|
127
135
|
current_email.should have_content 'Hello Joe!'
|
128
136
|
end
|
129
137
|
|
138
|
+
test 'testing for a custom header' do
|
139
|
+
current_email.headers.should include 'header-key'
|
140
|
+
end
|
141
|
+
|
142
|
+
test 'testing for a custom header value' do
|
143
|
+
current_email.header('header-key').should eq 'header_value'
|
144
|
+
end
|
145
|
+
|
130
146
|
test 'view the email body in your browser' do
|
131
147
|
# the `launchy` gem is required
|
132
148
|
current_email.save_and_open
|
@@ -134,6 +150,18 @@ class EmailTriggerControllerTest < ActionController::IntegrationTest
|
|
134
150
|
end
|
135
151
|
```
|
136
152
|
|
153
|
+
### CurrentEmail API ###
|
154
|
+
|
155
|
+
The `current_email` method will delegate all necessary method calls to
|
156
|
+
`Mail::Message`. So if you need to access the subject of an email:
|
157
|
+
|
158
|
+
```ruby
|
159
|
+
current_email.subject`
|
160
|
+
```
|
161
|
+
|
162
|
+
Check out API for the `mail` gem for details on what methods are
|
163
|
+
available.
|
164
|
+
|
137
165
|
## Sending Emails with JavaScript ##
|
138
166
|
Sending emails asynchronously will cause `#open_email` to not open the
|
139
167
|
correct email or not find any email at all depending on the state of the
|
@@ -17,33 +17,6 @@ class Capybara::Email::Driver < Capybara::Driver::Base
|
|
17
17
|
dom.to_xml
|
18
18
|
end
|
19
19
|
|
20
|
-
# Access to email subject
|
21
|
-
#
|
22
|
-
# delegates back to instance of Mail::Message
|
23
|
-
#
|
24
|
-
# @return String
|
25
|
-
def subject
|
26
|
-
email.subject
|
27
|
-
end
|
28
|
-
|
29
|
-
# Access to email recipient(s)
|
30
|
-
#
|
31
|
-
# delegates back to instance of Mail::Message
|
32
|
-
#
|
33
|
-
# @return [Array<String>]
|
34
|
-
def to
|
35
|
-
email.to
|
36
|
-
end
|
37
|
-
|
38
|
-
# Access to email sender(s)
|
39
|
-
#
|
40
|
-
# delegates back to instance of Mail::Message
|
41
|
-
#
|
42
|
-
# @return [Array<String>]
|
43
|
-
def from
|
44
|
-
email.from
|
45
|
-
end
|
46
|
-
|
47
20
|
# Nokogiri object for traversing content
|
48
21
|
#
|
49
22
|
# @return Nokogiri::HTML::Document
|
@@ -91,6 +64,18 @@ class Capybara::Email::Driver < Capybara::Driver::Base
|
|
91
64
|
|
92
65
|
private
|
93
66
|
|
67
|
+
def method_missing(meth, *args, &block)
|
68
|
+
if email.respond_to?(meth)
|
69
|
+
if args.empty?
|
70
|
+
email.send(meth)
|
71
|
+
else
|
72
|
+
email.send(meth, args)
|
73
|
+
end
|
74
|
+
else
|
75
|
+
super
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
94
79
|
def convert_to_html(text)
|
95
80
|
"<html><body>#{convert_links(text)}</body></html>"
|
96
81
|
end
|
data/lib/capybara/node/email.rb
CHANGED
@@ -7,32 +7,25 @@ class Capybara::Node::Email < Capybara::Node::Document
|
|
7
7
|
base.raw
|
8
8
|
end
|
9
9
|
|
10
|
-
#
|
10
|
+
# Returns the value of the passed in header key.
|
11
11
|
#
|
12
|
-
# @return
|
13
|
-
def
|
14
|
-
base.
|
12
|
+
# @return String
|
13
|
+
def header(key)
|
14
|
+
base.email.header[key].value
|
15
15
|
end
|
16
16
|
|
17
|
-
#
|
17
|
+
# Returns the header keys as an array of strings.
|
18
18
|
#
|
19
|
-
# @return [
|
20
|
-
def
|
21
|
-
base.
|
19
|
+
# @return [String]
|
20
|
+
def headers
|
21
|
+
base.email.header.fields.map(&:name)
|
22
22
|
end
|
23
23
|
|
24
|
-
#
|
24
|
+
# Corrects the inspect string
|
25
25
|
#
|
26
|
-
# @return [
|
27
|
-
def
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
# Delegate to the email from
|
32
|
-
#
|
33
|
-
# @return [Mail::Message#from]
|
34
|
-
def from
|
35
|
-
base.from
|
26
|
+
# @return [String]
|
27
|
+
def inspect
|
28
|
+
"<#{self.class.to_s}>"
|
36
29
|
end
|
37
30
|
|
38
31
|
# Save a snapshot of the page.
|
@@ -59,4 +52,10 @@ class Capybara::Node::Email < Capybara::Node::Document
|
|
59
52
|
rescue LoadError
|
60
53
|
warn 'Please install the launchy gem to open page with save_and_open_page'
|
61
54
|
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def method_missing(meth, *args, &block)
|
59
|
+
base.send(meth, *args)
|
60
|
+
end
|
62
61
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-email
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Cardarella
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mail
|