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.
Files changed (40) hide show
  1. data/CHANGELOG +8 -0
  2. data/README +32 -71
  3. data/Rakefile +8 -8
  4. data/app/models/email.rb +7 -79
  5. data/app/models/email_address.rb +32 -110
  6. data/db/migrate/001_create_email_addresses.rb +4 -13
  7. data/lib/has_emails/extensions/action_mailer.rb +106 -0
  8. data/lib/has_emails.rb +50 -77
  9. data/test/app_root/app/models/empty +0 -0
  10. data/test/app_root/config/environment.rb +4 -27
  11. data/test/app_root/db/migrate/001_migrate_has_messages_to_version_2.rb +9 -0
  12. data/test/app_root/db/migrate/002_migrate_has_emails_to_version_1.rb +9 -0
  13. data/test/factory.rb +48 -0
  14. data/test/functional/has_emails_test.rb +139 -0
  15. data/test/test_helper.rb +5 -68
  16. data/test/unit/action_mailer_test.rb +57 -0
  17. data/test/unit/email_address_test.rb +100 -152
  18. data/test/unit/email_test.rb +26 -86
  19. metadata +78 -87
  20. data/app/mailers/application_mailer.rb +0 -85
  21. data/app/models/email_recipient.rb +0 -78
  22. data/app/models/email_recipient_build_extension.rb +0 -7
  23. data/db/bootstrap/events.yml +0 -4
  24. data/db/bootstrap/states.yml +0 -9
  25. data/db/migrate/002_add_email_specs.rb +0 -18
  26. data/db/migrate/003_add_email_recipient_specs.rb +0 -18
  27. data/test/app_root/app/models/department.rb +0 -2
  28. data/test/app_root/app/models/user.rb +0 -3
  29. data/test/app_root/db/migrate/001_create_users.rb +0 -11
  30. data/test/app_root/db/migrate/002_create_departments.rb +0 -12
  31. data/test/fixtures/departments.yml +0 -9
  32. data/test/fixtures/email_addresses.yml +0 -32
  33. data/test/fixtures/message_recipients.yml +0 -85
  34. data/test/fixtures/messages.yml +0 -52
  35. data/test/fixtures/state_changes.yml +0 -128
  36. data/test/fixtures/users.yml +0 -11
  37. data/test/unit/application_mailer_test.rb +0 -69
  38. data/test/unit/email_recipient_test.rb +0 -79
  39. data/test/unit/has_emails_test.rb +0 -36
  40. 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 EmailAddressTest < Test::Unit::TestCase
4
- fixtures :departments, :users, :email_addresses, :messages, :message_recipients, :state_changes
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 test_should_convert_record_with_email_address_association
25
- user = users(:bob)
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 test_should_raise_exception_if_converting_unknown_class_to_email_address
44
- assert_raise(ArgumentError) {EmailAddress.convert_from(1)}
12
+ def test_should_not_have_a_spec
13
+ assert @email_address.name.blank?
45
14
  end
46
-
47
- def test_invalid_spec_should_not_be_valid
48
- assert !EmailAddress.valid?('invalid')
49
- end
50
-
51
- def test_valid_spec_should_be_valid
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 test_should_require_specific_format_for_spec
78
- assert_invalid email_addresses(:bob), :spec, 'aaaaaaaaaa'
79
- assert_valid email_addresses(:bob), :spec, 'aaa@aaa.com'
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 test_should_have_polymorphic_emailable_association
83
- assert_equal users(:bob), email_addresses(:bob).emailable
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 test_should_have_unsent_emails_association
87
- assert_equal [messages(:unsent_from_bob)], email_addresses(:bob).unsent_emails
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 test_should_have_sent_emails_association
91
- assert_equal [messages(:sent_from_bob), messages(:queued_from_bob)], email_addresses(:bob).sent_emails
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 test_should_have_received_emails_association
95
- assert_equal [messages(:sent_from_bob), messages(:sent_from_mary)], email_addresses(:john).received_emails.map(&:email)
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 test_initial_state_should_be_unverified
99
- assert_equal :unverified, EmailAddress.new.state.to_sym
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
- def test_should_verify_if_unverified
103
- e = email_addresses(:bob)
104
- assert e.unverified?
105
- assert e.verify!
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 test_should_not_verify_if_verified
110
- e = email_addresses(:john)
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 test_should_create_verification_code_on_create
116
- e = EmailAddress.new(:spec => 'test@me.com', :emailable => users(:bob))
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 test_should_not_modify_verification_code_on_update
124
- e = email_addresses(:bob)
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
- def test_should_create_code_expiry_on_create
132
- e = EmailAddress.new(:spec => 'test@me.com', :emailable => users(:bob))
133
- assert_nil e.code_expiry
134
- assert e.save!
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 test_should_not_modify_code_expiry_on_update
139
- e = email_addresses(:bob)
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 test_should_not_automatically_parse_local_name_after_find
147
- assert_nil email_addresses(:bob).send(:instance_variable_get, '@local_name')
97
+ def test_should_not_find_a_name
98
+ assert @email_address.name.blank?
148
99
  end
149
100
 
150
- def test_should_not_automatically_parse_domain_after_find
151
- assert_nil email_addresses(:bob).send(:instance_variable_get, '@domain')
101
+ def test_should_find_a_spec
102
+ assert_equal 'john.smith@gmail.com', @email_address.spec
152
103
  end
153
-
154
- def test_should_parse_local_name_when_accessed
155
- assert_equal 'bob', email_addresses(:bob).local_name
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 test_should_parse_domain_when_accessed
159
- assert_equal 'bob.com', email_addresses(:bob).domain
111
+ def test_should_record_when_it_was_created
112
+ assert_not_nil @email_address.created_at
160
113
  end
161
114
 
162
- def test_should_reset_local_name_and_domain_when_new_spec_is_set
163
- e = email_addresses(:bob)
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 test_name_should_be_blank_by_default
173
- assert_equal '', EmailAddress.new.name
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
- def test_should_set_name_from_attributes
177
- assert_equal 'bob', EmailAddress.new(:name => 'bob').name
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 test_should_return_spec_for_with_name_when_name_is_blank
181
- e = email_addresses(:bob)
182
- assert_equal e.spec, e.with_name
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 test_should_return_name_and_spec_for_with_name_when_name_is_not_blank
186
- e = email_addresses(:bob)
187
- e.instance_eval do
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 test_should_use_spec_for_stringification
197
- e = email_addresses(:bob)
198
- assert_equal e.spec, e.to_s
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
@@ -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 EmailTest < Test::Unit::TestCase
4
- fixtures :users, :email_addresses, :messages, :message_recipients, :state_changes
5
-
6
- def test_should_be_valid
7
- assert_valid messages(:sent_from_bob)
8
- end
9
-
10
- def test_should_require_sender_spec
11
- assert_invalid messages(:sent_from_bob), :sender_spec, nil
12
- end
13
-
14
- def test_should_require_minimum_length_for_sender_spec
15
- assert_invalid messages(:sent_from_bob), :sender_spec, 'ab'
16
- assert_valid messages(:sent_from_bob), :sender_spec, 'a@a'
17
- end
18
-
19
- def test_should_require_maximum_length_for_sender_spec
20
- assert_invalid messages(:sent_from_bob), :sender_spec, 'a' * 300 + '@' + 'a' * 20
21
- assert_valid messages(:sent_from_bob), :sender_spec, 'a' * 300 + '@' + 'a' * 19
22
- end
23
-
24
- def test_should_require_specific_format_for_sender_spec
25
- assert_invalid messages(:sent_from_bob), :sender_spec, 'aaaaaaaaaa'
26
- assert_valid messages(:sent_from_bob), :sender_spec, 'aaa@aaa.com'
27
- end
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.1
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, Neil Abraham
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
- - test/test_helper.rb
48
- - test/fixtures
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/user.rb
63
- - test/app_root/app/models/department.rb
64
- - test/app_root/db/migrate
65
- - test/app_root/db/migrate/002_create_departments.rb
66
- - test/app_root/db/migrate/001_create_users.rb
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/has_emails_test.rb
70
- - test/unit/email_recipient_test.rb
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
- test_files:
79
- - test/unit/email_test.rb
80
- - test/unit/email_address_test.rb
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
- extra_rdoc_files: []
88
-
89
- executables: []
90
-
91
- extensions: []
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
- dependencies:
96
- - !ruby/object:Gem::Dependency
97
- name: has_messages
98
- version_requirement:
99
- version_requirements: !ruby/object:Gem::Version::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: 0.0.1
104
- version:
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