inline_styles_mailer 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +5 -1
- data/CHANGELOG.md +13 -1
- data/README.md +9 -1
- data/inline_styles_mailer.gemspec +1 -1
- data/lib/inline_styles_mailer.rb +12 -4
- data/lib/inline_styles_mailer/version.rb +1 -1
- data/spec/Gemfile.rails-5.1 +5 -0
- data/spec/Gemfile.rails-5.2 +5 -0
- data/spec/fixtures/assets/stylesheets/_foo_mailer.css.scss +1 -1
- data/spec/fixtures/assets/stylesheets/_override.css +1 -1
- data/spec/fixtures/assets/stylesheets/_override.css.sass +1 -1
- data/spec/fixtures/assets/stylesheets/_override.css.scss +1 -1
- data/spec/fixtures/assets/stylesheets/foo/_bar_mailer.css.scss +6 -0
- data/spec/fixtures/mailers/Untitled +0 -0
- data/spec/fixtures/mailers/foo/bar_mailer.rb +11 -0
- data/spec/fixtures/views/foo/bar_mailer/bar.html.erb +1 -0
- data/spec/inline_styles_mailer/inline_styles_mailer_spec.rb +18 -4
- data/spec/spec_helper.rb +1 -1
- metadata +19 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e1389e41082caa2d0472886c8e51022cbce2659
|
4
|
+
data.tar.gz: 1a73bfb345f3e10cfff7ab3a0cd037befb426a36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12c4cb965729bebe1dde750e47a18ae5d633e697f9753b7adc13466b879a4ea840eec23f90e2f695e833055f48abae6273d3bedd81b677f3e3e9f08790182f7c
|
7
|
+
data.tar.gz: 477a86cab6c58746d0fcf65ace05de7169311ab678755fff4c81b2551703781520f8978b17b24f289ebc560a34943659a12d1e325feda73eb80f6d53d6ca0e02
|
data/.travis.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
language: ruby
|
2
2
|
matrix:
|
3
3
|
include:
|
4
|
-
- rvm: 2.0.0
|
4
|
+
- rvm: 2.0.0-p648
|
5
5
|
gemfile: spec/Gemfile.rails-4.2
|
6
6
|
- rvm: 2.1.8
|
7
7
|
gemfile: spec/Gemfile.rails-4.2
|
@@ -13,4 +13,8 @@ matrix:
|
|
13
13
|
gemfile: spec/Gemfile.rails-4.2
|
14
14
|
- rvm: 2.3.0
|
15
15
|
gemfile: spec/Gemfile.rails-5.0
|
16
|
+
- rvm: 2.3.3
|
17
|
+
gemfile: spec/Gemfile.rails-5.1
|
18
|
+
- rvm: 2.3.3
|
19
|
+
gemfile: spec/Gemfile.rails-5.2
|
16
20
|
sudo: false
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
## Next
|
2
2
|
|
3
|
+
## v1.0.2
|
4
|
+
|
5
|
+
Added support for Rails 5.1 and 5.2.
|
6
|
+
|
7
|
+
## v1.0.1
|
8
|
+
|
9
|
+
Now works with Rails 5.0 final (just a change to the `.gemspec`)
|
10
|
+
|
11
|
+
## v1.0.0
|
12
|
+
|
13
|
+
Changes to the way we find nested templates which might break the way you define their location (but probably won't affect most people). See the [note here](https://github.com/billhorsman/inline_styles_mailer#upgrading-to-version-10).
|
14
|
+
|
3
15
|
## v0.0.9
|
4
16
|
|
5
17
|
Now needs Ruby 1.9.3 (drop support for 1.9.2), because Rails 4.1 does so.
|
@@ -35,4 +47,4 @@ Documentation changes only.
|
|
35
47
|
|
36
48
|
## v0.0.1
|
37
49
|
|
38
|
-
Initial release
|
50
|
+
Initial release
|
data/README.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## Update for Rails 5.1+
|
2
|
+
|
3
|
+
I've started to use the [premailer](https://github.com/premailer/premailer) gem for Rails > 5.0. I'd welcome patches to keep this gem going.
|
4
|
+
|
1
5
|
## Inline Styles Mailer [![Build Status](https://secure.travis-ci.org/billhorsman/inline_styles_mailer.png)](http://travis-ci.org/billhorsman/inline_styles_mailer)
|
2
6
|
|
3
7
|
Using Jack Danger's excellent [Inline Styles](https://github.com/jackdanger/inline_styles) gem is even easier if you're using Rails 3.1+ and this gem.
|
@@ -98,7 +102,7 @@ We decided to bump up the major version because of a fix (5d0b6f4) we made to th
|
|
98
102
|
|
99
103
|
## What versions of Rails does this work with?
|
100
104
|
|
101
|
-
We run tests using Rails `4.2.6
|
105
|
+
We run tests using Rails `4.2.6`, `5.0.0.beta3`, `5.1.6` and `5.2`
|
102
106
|
|
103
107
|
| Version | Working? |
|
104
108
|
| --- | --- |
|
@@ -109,9 +113,13 @@ We run tests using Rails `4.2.6` and `5.0.0.beta3`.
|
|
109
113
|
| 4.1 | Yes |
|
110
114
|
| 4.2 | Yes |
|
111
115
|
| 5.0 | Yes |
|
116
|
+
| 5.1 | Yes |
|
117
|
+
| 5.2 | Yes |
|
112
118
|
|
113
119
|
\* It relies on the asset pipeline so I'd be surprised if it works. Not tested.
|
114
120
|
|
121
|
+
\** I'm recommending using the [premailer](https://github.com/premailer/premailer) gem for Rails > 5.0.
|
122
|
+
|
115
123
|
## What about Ruby?
|
116
124
|
|
117
125
|
Anything later than Ruby `1.9.2` should be fine. We test using Ruby 2.0.0`, `2.1.8`, `2.2.4` and `2.3.0`.
|
@@ -22,6 +22,6 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.required_ruby_version = '>= 1.9.3'
|
23
23
|
s.add_development_dependency "rspec"
|
24
24
|
s.add_runtime_dependency "inline_styles"
|
25
|
-
s.add_runtime_dependency "rails", [">= 3.1", "
|
25
|
+
s.add_runtime_dependency "rails", [">= 3.1", "<= 5.2"]
|
26
26
|
s.add_runtime_dependency "sass-rails"
|
27
27
|
end
|
data/lib/inline_styles_mailer.rb
CHANGED
@@ -23,9 +23,8 @@ module InlineStylesMailer
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def css_content
|
26
|
-
@stylesheets ||= ["_#{self.name.underscore}*"]
|
27
26
|
@stylesheet_path ||= File.join("app", "assets", "stylesheets")
|
28
|
-
@css_content ||=
|
27
|
+
@css_content ||= stylesheets.map {|stylesheet|
|
29
28
|
Dir[Rails.root.join(@stylesheet_path, "#{stylesheet}")].map {|file|
|
30
29
|
case file
|
31
30
|
when /\.scss$/
|
@@ -41,6 +40,10 @@ module InlineStylesMailer
|
|
41
40
|
@css_content
|
42
41
|
end
|
43
42
|
|
43
|
+
def stylesheets
|
44
|
+
@stylesheets ||= [self.name.underscore.sub(/^(.*\/)*(.*)$/, '\1_\2*')]
|
45
|
+
end
|
46
|
+
|
44
47
|
def page
|
45
48
|
@page ||= InlineStyles::Page.new.with_css(css_content)
|
46
49
|
end
|
@@ -61,7 +64,7 @@ module InlineStylesMailer
|
|
61
64
|
# Rails 3.1 takes an array, while Rails 3.0 takes a string.
|
62
65
|
# See https://github.com/billhorsman/inline_styles_mailer/issues/1
|
63
66
|
prefixes = options[:template_path] || self.class.name.underscore
|
64
|
-
prefixes = [prefixes] unless Rails.version =~ /^3\.0/
|
67
|
+
prefixes = [prefixes].flatten unless Rails.version =~ /^3\.0/
|
65
68
|
templates = lookup_context.find_all(options[:template_name] || action_name, prefixes)
|
66
69
|
options.reverse_merge!(:mime_version => "1.0", :charset => "UTF-8", :content_type => "text/plain", :parts_order => [ "text/plain", "text/enriched", "text/html"])
|
67
70
|
templates.sort_by {|t|
|
@@ -82,7 +85,12 @@ module InlineStylesMailer
|
|
82
85
|
case extension
|
83
86
|
when :html
|
84
87
|
html = render_to_string :file => file, :layout => layout_to_use, handlers: [handler]
|
85
|
-
render :text
|
88
|
+
# Rails 5.1 removed render :text
|
89
|
+
if Gem.loaded_specs['rails'].version >= Gem::Version.create('5.0')
|
90
|
+
render :plain => self.class.page.with_html(html).apply
|
91
|
+
else
|
92
|
+
render :text => self.class.page.with_html(html).apply
|
93
|
+
end
|
86
94
|
else
|
87
95
|
render
|
88
96
|
end
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
<p>Testing foobar html.</p>
|
@@ -18,7 +18,7 @@ describe InlineStylesMailer do
|
|
18
18
|
mail = FooMailer.foo
|
19
19
|
mail.body.parts.length.should eq(2)
|
20
20
|
mail.body.parts[1].body.should =~ /<p style="color: red;">Testing foo text\/html\.<\/p>/
|
21
|
-
mail.body.parts[1].body.should =~ /<body style="background: yellow;">/
|
21
|
+
mail.body.parts[1].body.should =~ /<body style="background-color: yellow;">/
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -30,7 +30,7 @@ describe InlineStylesMailer do
|
|
30
30
|
mail = FooMailer.foo
|
31
31
|
mail.body.parts.length.should eq(2)
|
32
32
|
mail.body.parts[1].body.should =~ /<p style="color: orange;">Testing foo text\/html\.<\/p>/
|
33
|
-
mail.body.parts[1].body.should =~ /<body style="background: yellow;">/
|
33
|
+
mail.body.parts[1].body.should =~ /<body style="background-color: yellow;">/
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -42,7 +42,7 @@ describe InlineStylesMailer do
|
|
42
42
|
mail = FooMailer.foo
|
43
43
|
mail.body.parts.length.should eq(2)
|
44
44
|
mail.body.parts[1].body.should =~ /<p style="color: green;">Testing foo text\/html\.<\/p>/
|
45
|
-
mail.body.parts[1].body.should =~ /<body style="background: yellow;">/
|
45
|
+
mail.body.parts[1].body.should =~ /<body style="background-color: yellow;">/
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
@@ -54,7 +54,7 @@ describe InlineStylesMailer do
|
|
54
54
|
mail = FooMailer.foo
|
55
55
|
mail.body.parts.length.should eq(2)
|
56
56
|
mail.body.parts[1].body.should =~ /<p style="color: blue;">Testing foo text\/html\.<\/p>/
|
57
|
-
mail.body.parts[1].body.should =~ /<body style="background: yellow;">/
|
57
|
+
mail.body.parts[1].body.should =~ /<body style="background-color: yellow;">/
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
@@ -82,4 +82,18 @@ describe InlineStylesMailer do
|
|
82
82
|
|
83
83
|
end
|
84
84
|
|
85
|
+
describe "Namespaced mailers" do
|
86
|
+
context "Default CSS file" do
|
87
|
+
before do
|
88
|
+
Foo::BarMailer.stylesheet_path "assets/stylesheets"
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should inline the CSS" do
|
92
|
+
mail = Foo::BarMailer.bar
|
93
|
+
mail.body.should =~ /<p style="color: purple;">Testing foobar html\.<\/p>/
|
94
|
+
mail.body.should =~ /<body style="background-color: orange;">/
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
85
99
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -4,7 +4,7 @@ require 'rails/all'
|
|
4
4
|
ActionMailer::Base.delivery_method = :test
|
5
5
|
ActionMailer::Base.prepend_view_path File.join(File.dirname(__FILE__), "fixtures", "views")
|
6
6
|
|
7
|
-
Dir["#{File.dirname(__FILE__)}/fixtures/mailers
|
7
|
+
Dir["#{File.dirname(__FILE__)}/fixtures/mailers/**/*.rb"].each { |f| require f }
|
8
8
|
|
9
9
|
RSpec.configure do |config|
|
10
10
|
config.expect_with :rspec do |c|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inline_styles_mailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bill Horsman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -45,9 +45,9 @@ dependencies:
|
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '3.1'
|
48
|
-
- - "
|
48
|
+
- - "<="
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: '5.
|
50
|
+
version: '5.2'
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -55,9 +55,9 @@ dependencies:
|
|
55
55
|
- - ">="
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: '3.1'
|
58
|
-
- - "
|
58
|
+
- - "<="
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '5.
|
60
|
+
version: '5.2'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: sass-rails
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,11 +93,17 @@ files:
|
|
93
93
|
- lib/inline_styles_mailer/version.rb
|
94
94
|
- spec/Gemfile.rails-4.2
|
95
95
|
- spec/Gemfile.rails-5.0
|
96
|
+
- spec/Gemfile.rails-5.1
|
97
|
+
- spec/Gemfile.rails-5.2
|
96
98
|
- spec/fixtures/assets/stylesheets/_foo_mailer.css.scss
|
97
99
|
- spec/fixtures/assets/stylesheets/_override.css
|
98
100
|
- spec/fixtures/assets/stylesheets/_override.css.sass
|
99
101
|
- spec/fixtures/assets/stylesheets/_override.css.scss
|
102
|
+
- spec/fixtures/assets/stylesheets/foo/_bar_mailer.css.scss
|
100
103
|
- spec/fixtures/layout.html.erb
|
104
|
+
- spec/fixtures/mailers/Untitled
|
105
|
+
- spec/fixtures/mailers/foo/bar_mailer.rb
|
106
|
+
- spec/fixtures/views/foo/bar_mailer/bar.html.erb
|
101
107
|
- spec/fixtures/views/foo_mailer/backwards.html.erb
|
102
108
|
- spec/fixtures/views/foo_mailer/backwards.text.erb
|
103
109
|
- spec/fixtures/views/foo_mailer/foo.html.erb
|
@@ -125,18 +131,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
131
|
version: '0'
|
126
132
|
requirements: []
|
127
133
|
rubyforge_project: inline_styles_mailer
|
128
|
-
rubygems_version: 2.6.
|
134
|
+
rubygems_version: 2.6.13
|
129
135
|
signing_key:
|
130
136
|
specification_version: 4
|
131
137
|
summary: Convenient use of inline_styles gem with Rails 3.1+ and Rails 4
|
132
138
|
test_files:
|
133
139
|
- spec/Gemfile.rails-4.2
|
134
140
|
- spec/Gemfile.rails-5.0
|
141
|
+
- spec/Gemfile.rails-5.1
|
142
|
+
- spec/Gemfile.rails-5.2
|
135
143
|
- spec/fixtures/assets/stylesheets/_foo_mailer.css.scss
|
136
144
|
- spec/fixtures/assets/stylesheets/_override.css
|
137
145
|
- spec/fixtures/assets/stylesheets/_override.css.sass
|
138
146
|
- spec/fixtures/assets/stylesheets/_override.css.scss
|
147
|
+
- spec/fixtures/assets/stylesheets/foo/_bar_mailer.css.scss
|
139
148
|
- spec/fixtures/layout.html.erb
|
149
|
+
- spec/fixtures/mailers/Untitled
|
150
|
+
- spec/fixtures/mailers/foo/bar_mailer.rb
|
151
|
+
- spec/fixtures/views/foo/bar_mailer/bar.html.erb
|
140
152
|
- spec/fixtures/views/foo_mailer/backwards.html.erb
|
141
153
|
- spec/fixtures/views/foo_mailer/backwards.text.erb
|
142
154
|
- spec/fixtures/views/foo_mailer/foo.html.erb
|