has_emails 0.0.1 → 0.1.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.
- data/CHANGELOG +8 -0
- data/README +32 -71
- data/Rakefile +8 -8
- data/app/models/email.rb +7 -79
- data/app/models/email_address.rb +32 -110
- data/db/migrate/001_create_email_addresses.rb +4 -13
- data/lib/has_emails/extensions/action_mailer.rb +106 -0
- data/lib/has_emails.rb +50 -77
- data/test/app_root/app/models/empty +0 -0
- data/test/app_root/config/environment.rb +4 -27
- data/test/app_root/db/migrate/001_migrate_has_messages_to_version_2.rb +9 -0
- data/test/app_root/db/migrate/002_migrate_has_emails_to_version_1.rb +9 -0
- data/test/factory.rb +48 -0
- data/test/functional/has_emails_test.rb +139 -0
- data/test/test_helper.rb +5 -68
- data/test/unit/action_mailer_test.rb +57 -0
- data/test/unit/email_address_test.rb +100 -152
- data/test/unit/email_test.rb +26 -86
- metadata +78 -87
- data/app/mailers/application_mailer.rb +0 -85
- data/app/models/email_recipient.rb +0 -78
- data/app/models/email_recipient_build_extension.rb +0 -7
- data/db/bootstrap/events.yml +0 -4
- data/db/bootstrap/states.yml +0 -9
- data/db/migrate/002_add_email_specs.rb +0 -18
- data/db/migrate/003_add_email_recipient_specs.rb +0 -18
- data/test/app_root/app/models/department.rb +0 -2
- data/test/app_root/app/models/user.rb +0 -3
- data/test/app_root/db/migrate/001_create_users.rb +0 -11
- data/test/app_root/db/migrate/002_create_departments.rb +0 -12
- data/test/fixtures/departments.yml +0 -9
- data/test/fixtures/email_addresses.yml +0 -32
- data/test/fixtures/message_recipients.yml +0 -85
- data/test/fixtures/messages.yml +0 -52
- data/test/fixtures/state_changes.yml +0 -128
- data/test/fixtures/users.yml +0 -11
- data/test/unit/application_mailer_test.rb +0 -69
- data/test/unit/email_recipient_test.rb +0 -79
- data/test/unit/has_emails_test.rb +0 -36
- data/test/unit/recipient_extension_test.rb +0 -99
@@ -1,200 +1,148 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper'
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
|
-
class
|
4
|
-
|
5
|
-
|
6
|
-
def test_should_convert_email_address_using_same_model
|
7
|
-
e = email_addresses(:bob)
|
8
|
-
assert_same e, EmailAddress.convert_from(e)
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_should_convert_string
|
12
|
-
e = EmailAddress.convert_from('test@email.com')
|
13
|
-
assert_instance_of EmailAddress, e
|
14
|
-
assert_equal 'test@email.com', e.spec
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_should_convert_record_with_email_address_column
|
18
|
-
department = departments(:marketing)
|
19
|
-
e = EmailAddress.convert_from(department)
|
20
|
-
assert_instance_of EmailAddress, e
|
21
|
-
assert_equal 'marketing@companyxyz.com', e.spec
|
3
|
+
class EmailAddressByDefaultTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@email_address = EmailAddress.new
|
22
6
|
end
|
23
7
|
|
24
|
-
def
|
25
|
-
|
26
|
-
class << user
|
27
|
-
def email_address
|
28
|
-
EmailAddress.new(:spec => 'test@email.com')
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
e = EmailAddress.convert_from(user)
|
33
|
-
assert_instance_of EmailAddress, e
|
34
|
-
assert_equal 'test@email.com', e.spec
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_should_convert_record_with_email_addresses_association_using_first_email_address
|
38
|
-
e = EmailAddress.convert_from(users(:bob))
|
39
|
-
assert_instance_of EmailAddress, e
|
40
|
-
assert_equal 'bob@bob.com', e.spec
|
8
|
+
def test_should_not_have_a_name
|
9
|
+
assert @email_address.name.blank?
|
41
10
|
end
|
42
11
|
|
43
|
-
def
|
44
|
-
|
12
|
+
def test_should_not_have_a_spec
|
13
|
+
assert @email_address.name.blank?
|
45
14
|
end
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
assert EmailAddress.valid?('valid@valid.com')
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_should_be_valid
|
56
|
-
assert_valid email_addresses(:bob)
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_should_require_spec
|
60
|
-
assert_invalid email_addresses(:bob), :spec, nil
|
61
|
-
end
|
62
|
-
|
63
|
-
def test_should_require_unique_spec
|
64
|
-
assert_invalid email_addresses(:bob).clone, :spec
|
65
|
-
end
|
66
|
-
|
67
|
-
def test_should_require_minimum_length_for_spec
|
68
|
-
assert_invalid email_addresses(:bob), :spec, 'ab'
|
69
|
-
assert_valid email_addresses(:bob), :spec, 'a@a'
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_should_require_maximum_length_for_spec
|
73
|
-
assert_invalid email_addresses(:bob), :spec, 'a' * 300 + '@' + 'a' * 20
|
74
|
-
assert_valid email_addresses(:bob), :spec, 'a' * 300 + '@' + 'a' * 19
|
15
|
+
end
|
16
|
+
|
17
|
+
class EmailAddressTest < Test::Unit::TestCase
|
18
|
+
def test_should_be_valid_with_a_set_of_valid_attributes
|
19
|
+
email_address = new_email_address
|
20
|
+
assert email_address.valid?
|
75
21
|
end
|
76
22
|
|
77
|
-
def
|
78
|
-
|
79
|
-
|
23
|
+
def test_should_require_a_spec
|
24
|
+
email_address = new_email_address(:spec => nil)
|
25
|
+
assert !email_address.valid?
|
26
|
+
assert_equal 3, Array(email_address.errors.on(:spec)).size
|
80
27
|
end
|
81
28
|
|
82
|
-
def
|
83
|
-
|
29
|
+
def test_should_require_a_properly_formatted_email
|
30
|
+
email_address = new_email_address(:spec => '!@@!@@!')
|
31
|
+
assert !email_address.valid?
|
32
|
+
assert_equal 1, Array(email_address.errors.on(:spec)).size
|
84
33
|
end
|
85
34
|
|
86
|
-
def
|
87
|
-
|
35
|
+
def test_should_not_allow_emails_less_than_3_characters
|
36
|
+
email_address = new_email_address(:spec => 'aa')
|
37
|
+
assert !email_address.valid?
|
38
|
+
assert_equal 2, Array(email_address.errors.on(:spec)).size
|
39
|
+
|
40
|
+
email_address.spec = 'a@a'
|
41
|
+
assert email_address.valid?
|
88
42
|
end
|
89
43
|
|
90
|
-
def
|
91
|
-
|
44
|
+
def test_should_not_allow_emails_longer_than_320_characters
|
45
|
+
email_address = new_email_address(:spec => 'a' * 314 + '@a.com')
|
46
|
+
assert email_address.valid?
|
47
|
+
|
48
|
+
email_address.spec += 'a'
|
49
|
+
assert !email_address.valid?
|
50
|
+
assert_equal 1, Array(email_address.errors.on(:spec)).size
|
92
51
|
end
|
93
52
|
|
94
|
-
def
|
95
|
-
|
53
|
+
def test_should_require_a_unique_spec_scoped_by_name
|
54
|
+
email_address = create_email_address(:spec => 'john.smith@gmail.com', :name => 'John Smith')
|
55
|
+
|
56
|
+
second_email_address = new_email_address(:spec => 'john.smith@gmail.com', :name => 'John Smith II')
|
57
|
+
assert second_email_address.valid?
|
58
|
+
|
59
|
+
second_email_address = new_email_address(:spec => 'john.smith@gmail.com', :name => 'John Smith')
|
60
|
+
assert !second_email_address.valid?
|
61
|
+
assert_equal 1, Array(second_email_address.errors.on(:spec)).size
|
96
62
|
end
|
97
63
|
|
98
|
-
def
|
99
|
-
|
64
|
+
def test_should_not_require_a_name
|
65
|
+
email_address = new_email_address(:name => nil)
|
66
|
+
assert email_address.valid?
|
100
67
|
end
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
assert e.verified?
|
68
|
+
end
|
69
|
+
|
70
|
+
class EmailAddressFromAddressTest < Test::Unit::TestCase
|
71
|
+
def setup
|
72
|
+
@email_address = EmailAddress.new(:address => 'John Smith <john.smith@gmail.com>')
|
107
73
|
end
|
108
74
|
|
109
|
-
def
|
110
|
-
|
111
|
-
assert e.verified?
|
112
|
-
assert !e.verify!
|
75
|
+
def test_should_be_valid
|
76
|
+
assert @email_address.valid?
|
113
77
|
end
|
114
78
|
|
115
|
-
def
|
116
|
-
|
117
|
-
assert_nil e.verification_code
|
118
|
-
assert e.save!
|
119
|
-
assert_not_nil e.verification_code
|
120
|
-
assert_equal 32, e.verification_code.length
|
79
|
+
def test_should_find_a_name
|
80
|
+
assert_equal 'John Smith', @email_address.name
|
121
81
|
end
|
122
82
|
|
123
|
-
def
|
124
|
-
|
125
|
-
original_verification_code = e.verification_code
|
126
|
-
e.spec = 'test@me.com'
|
127
|
-
assert e.save!
|
128
|
-
assert_equal original_verification_code, e.verification_code
|
83
|
+
def test_should_find_a_spec
|
84
|
+
assert_equal 'john.smith@gmail.com', @email_address.spec
|
129
85
|
end
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
assert_not_nil e.code_expiry
|
86
|
+
end
|
87
|
+
|
88
|
+
class EmailAddressFromAddressWithoutNameTest < Test::Unit::TestCase
|
89
|
+
def setup
|
90
|
+
@email_address = EmailAddress.new(:address => 'john.smith@gmail.com')
|
136
91
|
end
|
137
92
|
|
138
|
-
def
|
139
|
-
|
140
|
-
original_code_expiry = e.code_expiry
|
141
|
-
e.spec = 'test@me.com'
|
142
|
-
assert e.save!
|
143
|
-
assert_equal original_code_expiry, e.code_expiry
|
93
|
+
def test_should_be_valid
|
94
|
+
assert @email_address.valid?
|
144
95
|
end
|
145
96
|
|
146
|
-
def
|
147
|
-
|
97
|
+
def test_should_not_find_a_name
|
98
|
+
assert @email_address.name.blank?
|
148
99
|
end
|
149
100
|
|
150
|
-
def
|
151
|
-
|
101
|
+
def test_should_find_a_spec
|
102
|
+
assert_equal 'john.smith@gmail.com', @email_address.spec
|
152
103
|
end
|
153
|
-
|
154
|
-
|
155
|
-
|
104
|
+
end
|
105
|
+
|
106
|
+
class EmailAddressAfterBeingCreatedTest < Test::Unit::TestCase
|
107
|
+
def setup
|
108
|
+
@email_address = create_email_address(:name => 'John Smith', :spec => 'john.smith@gmail.com')
|
156
109
|
end
|
157
110
|
|
158
|
-
def
|
159
|
-
|
111
|
+
def test_should_record_when_it_was_created
|
112
|
+
assert_not_nil @email_address.created_at
|
160
113
|
end
|
161
114
|
|
162
|
-
def
|
163
|
-
|
164
|
-
assert_equal 'bob', e.local_name
|
165
|
-
assert_equal 'bob.com', e.domain
|
166
|
-
|
167
|
-
e.spec = 'test@me.com'
|
168
|
-
assert_equal 'test', e.local_name
|
169
|
-
assert_equal 'me.com', e.domain
|
115
|
+
def test_should_record_when_it_was_updated
|
116
|
+
assert_not_nil @email_address.updated_at
|
170
117
|
end
|
171
118
|
|
172
|
-
def
|
173
|
-
assert_equal '',
|
119
|
+
def test_should_generate_an_address_with_the_name
|
120
|
+
assert_equal 'John Smith <john.smith@gmail.com>', @email_address.with_name
|
174
121
|
end
|
175
|
-
|
176
|
-
|
177
|
-
|
122
|
+
end
|
123
|
+
|
124
|
+
class EmailAddressAsAClassTest < Test::Unit::TestCase
|
125
|
+
def test_should_be_able_to_split_address_containing_name
|
126
|
+
name, spec = EmailAddress.split_address('John Smith <john.smith@gmail.com>')
|
127
|
+
assert_equal 'John Smith', name
|
128
|
+
assert_equal 'john.smith@gmail.com', spec
|
178
129
|
end
|
179
130
|
|
180
|
-
def
|
181
|
-
|
182
|
-
|
131
|
+
def test_should_be_able_to_split_address_not_containing_name
|
132
|
+
name, spec = EmailAddress.split_address('john.smith@gmail.com')
|
133
|
+
assert_nil name
|
134
|
+
assert_equal 'john.smith@gmail.com', spec
|
183
135
|
end
|
184
136
|
|
185
|
-
def
|
186
|
-
|
187
|
-
|
188
|
-
def name
|
189
|
-
'Bob'
|
190
|
-
end
|
191
|
-
end
|
192
|
-
|
193
|
-
assert_equal 'Bob <bob@bob.com>', e.with_name
|
137
|
+
def test_should_be_able_to_find_an_existing_email_by_address
|
138
|
+
email_address = create_email_address(:address => 'John Smith <john.smith@gmail.com>')
|
139
|
+
assert_equal email_address, EmailAddress.find_or_create_by_address('John Smith <john.smith@gmail.com>')
|
194
140
|
end
|
195
141
|
|
196
|
-
def
|
197
|
-
|
198
|
-
|
142
|
+
def test_should_be_able_to_create_from_a_new_address
|
143
|
+
email_address = EmailAddress.find_or_create_by_address('John Smith <john.smith@gmail.com>')
|
144
|
+
assert !email_address.new_record?
|
145
|
+
assert_equal 'John Smith', email_address.name
|
146
|
+
assert_equal 'john.smith@gmail.com', email_address.spec
|
199
147
|
end
|
200
148
|
end
|
data/test/unit/email_test.rb
CHANGED
@@ -1,89 +1,29 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../test_helper'
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
2
2
|
|
3
|
-
class
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
def test_to_should_create_email_recipient
|
30
|
-
assert_instance_of EmailRecipient, messages(:sent_from_bob).to.build
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_cc_should_create_email_recipient
|
34
|
-
assert_instance_of EmailRecipient, messages(:sent_from_bob).cc.build
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_bcc_should_create_email_recipient
|
38
|
-
assert_instance_of EmailRecipient, messages(:sent_from_bob).bcc.build
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_sender_should_be_spec_if_arbitrary_email_address_used
|
42
|
-
assert_equal 'stranger@somewhere.com', messages(:unsent_from_stranger).sender
|
43
|
-
end
|
44
|
-
|
45
|
-
def test_sender_should_be_model_if_known_email_address_used
|
46
|
-
assert_equal email_addresses(:bob), messages(:sent_from_bob).sender
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_should_set_sender_spec_if_sender_is_arbitrary_email_address
|
50
|
-
email = messages(:unsent_from_stranger)
|
51
|
-
email.sender = 'stranger@somewhereelse.com'
|
52
|
-
assert_equal 'stranger@somewhereelse.com', email.sender_spec
|
53
|
-
assert_nil email.sender_id
|
54
|
-
assert_nil email.sender_type
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_should_set_sender_and_sender_spec_if_sender_is_known_email_address
|
58
|
-
email = messages(:unsent_from_stranger)
|
59
|
-
email.sender_spec = nil
|
60
|
-
email.sender = email_addresses(:john)
|
61
|
-
assert_equal 2, email.sender_id
|
62
|
-
assert_equal 'EmailAddress', email.sender_type
|
63
|
-
assert_equal 'john@john.com', email.sender_spec
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_sender_email_address_should_convert_sender_spec_if_arbitrary_email_address_used
|
67
|
-
email_address = messages(:unsent_from_stranger).sender_email_address
|
68
|
-
assert_instance_of EmailAddress, email_address
|
69
|
-
assert_equal 'stranger@somewhere.com', email_address.spec
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_sender_email_address_should_use_sender_if_known_email_address_used
|
73
|
-
email_address = messages(:sent_from_bob).sender_email_address
|
74
|
-
assert_instance_of EmailAddress, email_address
|
75
|
-
assert_equal 'bob@bob.com', email_address.spec
|
76
|
-
end
|
77
|
-
|
78
|
-
def test_reply_should_use_sender_spec_for_sender_if_arbitrary_email_address_used
|
79
|
-
message = messages(:unsent_from_stranger)
|
80
|
-
reply = message.reply
|
81
|
-
assert_equal 'stranger@somewhere.com', reply.sender
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_forward_should_use_sender_spec_for_sender_if_arbitrary_email_address_used
|
85
|
-
message = messages(:unsent_from_stranger)
|
86
|
-
forward = message.forward
|
87
|
-
assert_equal 'stranger@somewhere.com', forward.sender
|
3
|
+
class EmailAfterBeingDeliveredTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
ActionMailer::Base.deliveries = []
|
6
|
+
|
7
|
+
@email = new_email(
|
8
|
+
:subject => 'Hello',
|
9
|
+
:body => 'How are you?',
|
10
|
+
:sender => create_email_address(:spec => 'webmaster@localhost'),
|
11
|
+
:to => create_email_address(:spec => 'partners@localhost'),
|
12
|
+
:cc => create_email_address(:spec => 'support@localhost'),
|
13
|
+
:bcc => create_email_address(:spec => 'feedback@localhost')
|
14
|
+
)
|
15
|
+
assert @email.deliver!
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_should_send_mail
|
19
|
+
assert ActionMailer::Base.deliveries.any?
|
20
|
+
|
21
|
+
delivery = ActionMailer::Base.deliveries.first
|
22
|
+
assert_equal 'Hello', delivery.subject
|
23
|
+
assert_equal 'How are you?', delivery.body
|
24
|
+
assert_equal ['webmaster@localhost'], delivery.from
|
25
|
+
assert_equal ['partners@localhost'], delivery.to
|
26
|
+
assert_equal ['support@localhost'], delivery.cc
|
27
|
+
assert_equal ['feedback@localhost'], delivery.bcc
|
88
28
|
end
|
89
29
|
end
|
metadata
CHANGED
@@ -1,113 +1,104 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: has_emails
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0
|
7
|
-
date: 2007-09-26 00:00:00 -04:00
|
8
|
-
summary: Adds support for emailing capabilities between ActiveRecord models.
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: info@pluginaweek.org
|
12
|
-
homepage: http://www.pluginaweek.org
|
13
|
-
rubyforge_project:
|
14
|
-
description:
|
15
|
-
autorequire: has_emails
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.1.0
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
|
-
- Aaron Pfeifer
|
7
|
+
- Aaron Pfeifer
|
8
|
+
autorequire: has_emails
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-05-05 00:00:00 -04:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: has_messages
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.1.0
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: validates_as_email_address
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 0.0.2
|
32
|
+
version:
|
33
|
+
description:
|
34
|
+
email: aaron@pluginaweek.org
|
35
|
+
executables: []
|
36
|
+
|
37
|
+
extensions: []
|
38
|
+
|
39
|
+
extra_rdoc_files: []
|
40
|
+
|
31
41
|
files:
|
32
|
-
- app/mailers
|
33
42
|
- app/models
|
34
|
-
- app/mailers/application_mailer.rb
|
35
|
-
- app/models/email_recipient.rb
|
36
|
-
- app/models/email_recipient_build_extension.rb
|
37
43
|
- app/models/email_address.rb
|
38
44
|
- app/models/email.rb
|
39
|
-
- db/bootstrap
|
40
45
|
- db/migrate
|
41
|
-
- db/bootstrap/events.yml
|
42
|
-
- db/bootstrap/states.yml
|
43
46
|
- db/migrate/001_create_email_addresses.rb
|
44
|
-
- db/migrate/003_add_email_recipient_specs.rb
|
45
|
-
- db/migrate/002_add_email_specs.rb
|
46
47
|
- lib/has_emails.rb
|
47
|
-
-
|
48
|
-
-
|
48
|
+
- lib/has_emails
|
49
|
+
- lib/has_emails/extensions
|
50
|
+
- lib/has_emails/extensions/action_mailer.rb
|
51
|
+
- test/factory.rb
|
49
52
|
- test/app_root
|
50
|
-
- test/unit
|
51
|
-
- test/fixtures/users.yml
|
52
|
-
- test/fixtures/message_recipients.yml
|
53
|
-
- test/fixtures/state_changes.yml
|
54
|
-
- test/fixtures/messages.yml
|
55
|
-
- test/fixtures/departments.yml
|
56
|
-
- test/fixtures/email_addresses.yml
|
57
|
-
- test/app_root/config
|
58
|
-
- test/app_root/app
|
59
53
|
- test/app_root/db
|
54
|
+
- test/app_root/db/migrate
|
55
|
+
- test/app_root/db/migrate/002_migrate_has_emails_to_version_1.rb
|
56
|
+
- test/app_root/db/migrate/001_migrate_has_messages_to_version_2.rb
|
57
|
+
- test/app_root/config
|
60
58
|
- test/app_root/config/environment.rb
|
59
|
+
- test/app_root/app
|
61
60
|
- test/app_root/app/models
|
62
|
-
- test/app_root/app/models/
|
63
|
-
- test/
|
64
|
-
- test/
|
65
|
-
- test/
|
66
|
-
- test/
|
67
|
-
- test/unit/email_test.rb
|
61
|
+
- test/app_root/app/models/empty
|
62
|
+
- test/functional
|
63
|
+
- test/functional/has_emails_test.rb
|
64
|
+
- test/test_helper.rb
|
65
|
+
- test/unit
|
68
66
|
- test/unit/email_address_test.rb
|
69
|
-
- test/unit/
|
70
|
-
- test/unit/
|
71
|
-
- test/unit/recipient_extension_test.rb
|
72
|
-
- test/unit/application_mailer_test.rb
|
67
|
+
- test/unit/action_mailer_test.rb
|
68
|
+
- test/unit/email_test.rb
|
73
69
|
- CHANGELOG
|
74
70
|
- init.rb
|
75
71
|
- MIT-LICENSE
|
76
72
|
- Rakefile
|
77
73
|
- README
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
- test/unit/has_emails_test.rb
|
82
|
-
- test/unit/email_recipient_test.rb
|
83
|
-
- test/unit/recipient_extension_test.rb
|
84
|
-
- test/unit/application_mailer_test.rb
|
74
|
+
has_rdoc: true
|
75
|
+
homepage: http://www.pluginaweek.org
|
76
|
+
post_install_message:
|
85
77
|
rdoc_options: []
|
86
78
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
79
|
+
require_paths:
|
80
|
+
- lib
|
81
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: "0"
|
86
|
+
version:
|
87
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: "0"
|
92
|
+
version:
|
93
93
|
requirements: []
|
94
94
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
- !ruby/object:Gem::Dependency
|
106
|
-
name: validates_as_email_address
|
107
|
-
version_requirement:
|
108
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
109
|
-
requirements:
|
110
|
-
- - ">="
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 0.0.1
|
113
|
-
version:
|
95
|
+
rubyforge_project:
|
96
|
+
rubygems_version: 1.1.0
|
97
|
+
signing_key:
|
98
|
+
specification_version: 2
|
99
|
+
summary: Demonstrates a reference implementation for sending emails with logging and asynchronous support.
|
100
|
+
test_files:
|
101
|
+
- test/functional/has_emails_test.rb
|
102
|
+
- test/unit/email_address_test.rb
|
103
|
+
- test/unit/action_mailer_test.rb
|
104
|
+
- test/unit/email_test.rb
|