actionmailer_extensions 0.4.0 → 0.5.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/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "actionmailer", "~> 2.3.10"
4
+
5
+ group :development do
6
+ gem "rake", "~> 10.0.3"
7
+ gem "rspec", "~> 2.13.0"
8
+ gem "rdoc", "~> 4.0.0"
9
+ gem "bundler", "~> 1.3.2"
10
+ gem "jeweler", "~> 1.8.4"
11
+ gem 'rr', github: "btakita/rr"
12
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,49 @@
1
+ GIT
2
+ remote: git://github.com/btakita/rr.git
3
+ revision: 574c845ef512e799c5289260f6033083832c187e
4
+ specs:
5
+ rr (1.0.4)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ actionmailer (2.3.18)
11
+ actionpack (= 2.3.18)
12
+ actionpack (2.3.18)
13
+ activesupport (= 2.3.18)
14
+ rack (~> 1.1.0)
15
+ activesupport (2.3.18)
16
+ diff-lcs (1.2.1)
17
+ git (1.2.5)
18
+ jeweler (1.8.4)
19
+ bundler (~> 1.0)
20
+ git (>= 1.2.5)
21
+ rake
22
+ rdoc
23
+ json (1.7.7)
24
+ json (1.7.7-java)
25
+ rack (1.1.6)
26
+ rake (10.0.4)
27
+ rdoc (4.0.0)
28
+ json (~> 1.4)
29
+ rspec (2.13.0)
30
+ rspec-core (~> 2.13.0)
31
+ rspec-expectations (~> 2.13.0)
32
+ rspec-mocks (~> 2.13.0)
33
+ rspec-core (2.13.1)
34
+ rspec-expectations (2.13.0)
35
+ diff-lcs (>= 1.1.3, < 2.0)
36
+ rspec-mocks (2.13.0)
37
+
38
+ PLATFORMS
39
+ java
40
+ ruby
41
+
42
+ DEPENDENCIES
43
+ actionmailer (~> 2.3.10)
44
+ bundler (~> 1.3.2)
45
+ jeweler (~> 1.8.4)
46
+ rake (~> 10.0.3)
47
+ rdoc (~> 4.0.0)
48
+ rr!
49
+ rspec (~> 2.13.0)
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010 Peter MacRobert and Empire42 Ltd (UK)
1
+ Copyright (c) 2013 Peter MacRobert
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.rdoc CHANGED
@@ -4,6 +4,8 @@ These extensions wrap around the "deliver!" method on ActionMailer::Base to prov
4
4
  * save all outgoing emails to disk, and
5
5
  * a list of recipient email addresses that are safe to receive mail. All other mail is not sent.
6
6
 
7
+ Note - only tested up to and including ActionMailer 2.3.8. Not tested on 3.0.
8
+
7
9
  == Saving email to disk
8
10
 
9
11
  Sending email with markup from a web app is a pain in the ass because HTML markup renders differently in every
data/Rakefile CHANGED
@@ -1,4 +1,12 @@
1
1
  require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
2
10
  require 'rake'
3
11
 
4
12
  begin
@@ -12,6 +20,9 @@ begin
12
20
  gem.email = "originalpete@gmail.com"
13
21
  gem.homepage = "http://github.com/originalpete/actionmailer_extensions"
14
22
  gem.authors = ["Peter MacRobert"]
23
+
24
+ gem.add_dependency "actionmailer", "~> 2.3.10"
25
+
15
26
  gem.add_development_dependency "yard", ">= 0"
16
27
  gem.add_development_dependency "rspec", ">= 1.2.9"
17
28
  gem.add_development_dependency "rr", ">= 0.10.5"
@@ -21,19 +32,18 @@ rescue LoadError
21
32
  puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
33
  end
23
34
 
24
- require 'spec/rake/spectask'
25
- Spec::Rake::SpecTask.new(:spec) do |spec|
26
- spec.libs << 'lib' << 'spec'
27
- spec.spec_files = FileList['spec/**/*_spec.rb']
35
+ require 'rspec/core'
36
+ require 'rspec/core/rake_task'
37
+
38
+ RSpec::Core::RakeTask.new(:spec) do |spec|
39
+ spec.pattern = 'spec/**/*_spec.rb'
28
40
  end
29
41
 
30
- Spec::Rake::SpecTask.new(:rcov) do |spec|
31
- spec.libs << 'lib' << 'spec'
42
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
32
43
  spec.pattern = 'spec/**/*_spec.rb'
33
44
  spec.rcov = true
34
45
  end
35
46
 
36
- task :spec => :check_dependencies
37
47
  task :default => :spec
38
48
 
39
49
  begin
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
@@ -0,0 +1,80 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "actionmailer_extensions"
8
+ s.version = "0.5.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Peter MacRobert"]
12
+ s.date = "2013-03-26"
13
+ s.description = "Wraps the deliver! method on ActionMailer to save the outgoing mail to a .eml file, \n which can be opened by most email clients. Also provides a mechanism for only sending to an approved list of\n email recipients, which is useful for ensuring your application doesn't send email outside of an organization."
14
+ s.email = "originalpete@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "LICENSE",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "actionmailer_extensions.gemspec",
28
+ "lib/actionmailer_extensions.rb",
29
+ "spec/action_mailer_extensions_spec.rb",
30
+ "spec/spec.opts",
31
+ "spec/spec_helper.rb"
32
+ ]
33
+ s.homepage = "http://github.com/originalpete/actionmailer_extensions"
34
+ s.require_paths = ["lib"]
35
+ s.rubygems_version = "1.8.24"
36
+ s.summary = "Handy \"save to disk\" and \"safe recipients\" features for ActionMailer"
37
+
38
+ if s.respond_to? :specification_version then
39
+ s.specification_version = 3
40
+
41
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
+ s.add_runtime_dependency(%q<actionmailer>, ["~> 2.3.10"])
43
+ s.add_development_dependency(%q<rake>, ["~> 10.0.3"])
44
+ s.add_development_dependency(%q<rspec>, ["~> 2.13.0"])
45
+ s.add_development_dependency(%q<rdoc>, ["~> 4.0.0"])
46
+ s.add_development_dependency(%q<bundler>, ["~> 1.3.2"])
47
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
48
+ s.add_development_dependency(%q<rr>, [">= 0"])
49
+ s.add_runtime_dependency(%q<actionmailer>, ["~> 2.3.10"])
50
+ s.add_development_dependency(%q<yard>, [">= 0"])
51
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
52
+ s.add_development_dependency(%q<rr>, [">= 0.10.5"])
53
+ else
54
+ s.add_dependency(%q<actionmailer>, ["~> 2.3.10"])
55
+ s.add_dependency(%q<rake>, ["~> 10.0.3"])
56
+ s.add_dependency(%q<rspec>, ["~> 2.13.0"])
57
+ s.add_dependency(%q<rdoc>, ["~> 4.0.0"])
58
+ s.add_dependency(%q<bundler>, ["~> 1.3.2"])
59
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
60
+ s.add_dependency(%q<rr>, [">= 0"])
61
+ s.add_dependency(%q<actionmailer>, ["~> 2.3.10"])
62
+ s.add_dependency(%q<yard>, [">= 0"])
63
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
64
+ s.add_dependency(%q<rr>, [">= 0.10.5"])
65
+ end
66
+ else
67
+ s.add_dependency(%q<actionmailer>, ["~> 2.3.10"])
68
+ s.add_dependency(%q<rake>, ["~> 10.0.3"])
69
+ s.add_dependency(%q<rspec>, ["~> 2.13.0"])
70
+ s.add_dependency(%q<rdoc>, ["~> 4.0.0"])
71
+ s.add_dependency(%q<bundler>, ["~> 1.3.2"])
72
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
73
+ s.add_dependency(%q<rr>, [">= 0"])
74
+ s.add_dependency(%q<actionmailer>, ["~> 2.3.10"])
75
+ s.add_dependency(%q<yard>, [">= 0"])
76
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
77
+ s.add_dependency(%q<rr>, [">= 0.10.5"])
78
+ end
79
+ end
80
+
@@ -41,6 +41,7 @@ module ActionMailer
41
41
  cattr_accessor :email_output_dir
42
42
 
43
43
  private
44
+
44
45
  include ActionmailerExtensions
45
46
  alias_method_chain :deliver!, :disk_save
46
47
  end
@@ -7,6 +7,7 @@ describe ActionmailerExtensions do
7
7
  def new_anon_class(parent, name="", &proc)
8
8
  klass = Class.new(parent)
9
9
  mc = klass.instance_eval{ class << self ; self ; end }
10
+ mc.send(:define_method, :name) {name}
10
11
  mc.send(:define_method, :to_s) {name}
11
12
  klass.class_eval(&proc) if proc
12
13
  klass
@@ -35,9 +36,9 @@ describe ActionmailerExtensions do
35
36
 
36
37
  describe "alias chain" do
37
38
  it "should create new methods" do
38
- ActionMailer::Base.instance_methods.include?("deliver!").should be_true
39
- ActionMailer::Base.instance_methods.include?("deliver_with_disk_save!").should be_true
40
- ActionMailer::Base.instance_methods.include?("deliver_without_disk_save!").should be_true
39
+ ActionMailer::Base.instance_methods.include?(:deliver!).should be_true
40
+ ActionMailer::Base.instance_methods.include?(:deliver_with_disk_save!).should be_true
41
+ ActionMailer::Base.instance_methods.include?(:deliver_without_disk_save!).should be_true
41
42
  end
42
43
  end
43
44
 
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,11 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- require 'spec'
4
- require 'spec/autorun'
3
+ require 'rspec'
4
+ require 'rr'
5
+ require 'rspec/autorun'
5
6
  require 'actionmailer_extensions'
6
7
 
7
- Spec::Runner.configure do |config|
8
- config.mock_with :rr
8
+ RSpec.configure do |config|
9
+ config.include(RR::Adapters::RSpec2)
9
10
  end
11
+
metadata CHANGED
@@ -1,98 +1,240 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: actionmailer_extensions
3
- version: !ruby/object:Gem::Version
4
- version: 0.4.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Peter MacRobert
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2010-04-07 00:00:00 +01:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2013-03-26 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: actionmailer
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 2.3.10
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.3.10
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 10.0.3
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 10.0.3
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 2.13.0
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.13.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: rdoc
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 4.0.0
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 4.0.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: bundler
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 1.3.2
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 1.3.2
94
+ - !ruby/object:Gem::Dependency
95
+ name: jeweler
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 1.8.4
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 1.8.4
110
+ - !ruby/object:Gem::Dependency
111
+ name: rr
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: actionmailer
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 2.3.10
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 2.3.10
142
+ - !ruby/object:Gem::Dependency
16
143
  name: yard
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
17
150
  type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
24
- version:
25
- - !ruby/object:Gem::Dependency
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
26
159
  name: rspec
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: 1.2.9
27
166
  type: :development
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
33
173
  version: 1.2.9
34
- version:
35
- - !ruby/object:Gem::Dependency
174
+ - !ruby/object:Gem::Dependency
36
175
  name: rr
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: 0.10.5
37
182
  type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
43
189
  version: 0.10.5
44
- version:
45
- description: |-
46
- Wraps the deliver! method on ActionMailer to save the outgoing mail to a .eml file,
47
- which can be opened by most email clients. Also provides a mechanism for only sending to an approved list of
48
- email recipients, which is useful for ensuring your application doesn't send email outside of an organization.
190
+ description: ! "Wraps the deliver! method on ActionMailer to save the outgoing mail
191
+ to a .eml file, \n which can be opened by most email clients. Also provides
192
+ a mechanism for only sending to an approved list of\n email recipients, which
193
+ is useful for ensuring your application doesn't send email outside of an organization."
49
194
  email: originalpete@gmail.com
50
195
  executables: []
51
-
52
196
  extensions: []
53
-
54
- extra_rdoc_files:
197
+ extra_rdoc_files:
55
198
  - LICENSE
56
199
  - README.rdoc
57
- files:
200
+ files:
58
201
  - .document
59
- - .gitignore
202
+ - Gemfile
203
+ - Gemfile.lock
60
204
  - LICENSE
61
205
  - README.rdoc
62
206
  - Rakefile
63
207
  - VERSION
208
+ - actionmailer_extensions.gemspec
64
209
  - lib/actionmailer_extensions.rb
65
210
  - spec/action_mailer_extensions_spec.rb
66
211
  - spec/spec.opts
67
212
  - spec/spec_helper.rb
68
- has_rdoc: true
69
213
  homepage: http://github.com/originalpete/actionmailer_extensions
70
214
  licenses: []
71
-
72
215
  post_install_message:
73
- rdoc_options:
74
- - --charset=UTF-8
75
- require_paths:
216
+ rdoc_options: []
217
+ require_paths:
76
218
  - lib
77
- required_ruby_version: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: "0"
82
- version:
83
- required_rubygems_version: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- version: "0"
88
- version:
219
+ required_ruby_version: !ruby/object:Gem::Requirement
220
+ none: false
221
+ requirements:
222
+ - - ! '>='
223
+ - !ruby/object:Gem::Version
224
+ version: '0'
225
+ segments:
226
+ - 0
227
+ hash: -4265072643539841189
228
+ required_rubygems_version: !ruby/object:Gem::Requirement
229
+ none: false
230
+ requirements:
231
+ - - ! '>='
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
89
234
  requirements: []
90
-
91
235
  rubyforge_project:
92
- rubygems_version: 1.3.5
236
+ rubygems_version: 1.8.24
93
237
  signing_key:
94
238
  specification_version: 3
95
239
  summary: Handy "save to disk" and "safe recipients" features for ActionMailer
96
- test_files:
97
- - spec/action_mailer_extensions_spec.rb
98
- - spec/spec_helper.rb
240
+ test_files: []
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC