actionmailer_extensions 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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