premailer-rails 1.9.5 → 1.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/workflows/test.yml +64 -0
- data/.gitignore +4 -0
- data/CHANGELOG.md +40 -0
- data/Gemfile +15 -11
- data/README.md +32 -37
- data/VERSION +1 -1
- data/examples/rails5/Gemfile +4 -0
- data/{example → examples/rails5}/Rakefile +1 -1
- data/{example → examples/rails5}/bin/rails +1 -1
- data/{example → examples/rails5}/config/application.rb +4 -1
- data/examples/rails5/config/boot.rb +3 -0
- data/{example → examples/rails5}/config/environment.rb +1 -1
- data/{example → examples/rails5}/config.ru +2 -1
- data/examples/rails6/.gitignore +16 -0
- data/examples/rails6/Gemfile +5 -0
- data/examples/rails6/README.md +10 -0
- data/examples/rails6/Rakefile +6 -0
- data/examples/rails6/app/assets/config/manifest.js +1 -0
- data/examples/rails6/app/assets/stylesheets/email.css +32 -0
- data/examples/rails6/app/mailers/example_mailer.rb +7 -0
- data/examples/rails6/app/views/example_mailer/test_message.html.erb +18 -0
- data/examples/rails6/bin/rails +4 -0
- data/examples/rails6/config/application.rb +15 -0
- data/examples/rails6/config/boot.rb +3 -0
- data/examples/rails6/config/environment.rb +5 -0
- data/examples/rails6/config/environments/development.rb +9 -0
- data/examples/rails6/config/environments/production.rb +9 -0
- data/examples/rails6/config/routes.rb +3 -0
- data/examples/rails6/config.ru +6 -0
- data/examples/rails6/test/mailers/previews/example_mailer_preview.rb +5 -0
- data/examples/rails7-propshaft/.gitignore +16 -0
- data/examples/rails7-propshaft/Gemfile +6 -0
- data/examples/rails7-propshaft/README.md +10 -0
- data/examples/rails7-propshaft/Rakefile +6 -0
- data/examples/rails7-propshaft/app/assets/stylesheets/email.css +32 -0
- data/examples/rails7-propshaft/app/mailers/example_mailer.rb +7 -0
- data/examples/rails7-propshaft/app/views/example_mailer/test_message.html.erb +18 -0
- data/examples/rails7-propshaft/bin/rails +4 -0
- data/examples/rails7-propshaft/config/application.rb +14 -0
- data/examples/rails7-propshaft/config/boot.rb +3 -0
- data/examples/rails7-propshaft/config/environment.rb +5 -0
- data/examples/rails7-propshaft/config/environments/development.rb +9 -0
- data/examples/rails7-propshaft/config/environments/production.rb +9 -0
- data/examples/rails7-propshaft/config/routes.rb +3 -0
- data/examples/rails7-propshaft/config.ru +6 -0
- data/examples/rails7-propshaft/test/mailers/previews/example_mailer_preview.rb +5 -0
- data/examples/rails7-sprockets/.gitignore +16 -0
- data/examples/rails7-sprockets/Gemfile +6 -0
- data/examples/rails7-sprockets/README.md +10 -0
- data/examples/rails7-sprockets/Rakefile +6 -0
- data/examples/rails7-sprockets/app/assets/config/manifest.js +1 -0
- data/examples/rails7-sprockets/app/assets/stylesheets/email.css +32 -0
- data/examples/rails7-sprockets/app/mailers/example_mailer.rb +7 -0
- data/examples/rails7-sprockets/app/views/example_mailer/test_message.html.erb +18 -0
- data/examples/rails7-sprockets/bin/rails +4 -0
- data/examples/rails7-sprockets/config/application.rb +14 -0
- data/examples/rails7-sprockets/config/boot.rb +3 -0
- data/examples/rails7-sprockets/config/environment.rb +5 -0
- data/examples/rails7-sprockets/config/environments/development.rb +9 -0
- data/examples/rails7-sprockets/config/environments/production.rb +9 -0
- data/examples/rails7-sprockets/config/routes.rb +3 -0
- data/examples/rails7-sprockets/config.ru +6 -0
- data/examples/rails7-sprockets/test/mailers/previews/example_mailer_preview.rb +5 -0
- data/lib/premailer/rails/css_helper.rb +32 -11
- data/lib/premailer/rails/css_loaders/asset_pipeline_loader.rb +16 -15
- data/lib/premailer/rails/css_loaders/file_system_loader.rb +24 -2
- data/lib/premailer/rails/css_loaders/network_loader.rb +2 -2
- data/lib/premailer/rails/css_loaders/propshaft_loader.rb +38 -0
- data/lib/premailer/rails/css_loaders.rb +1 -1
- data/lib/premailer/rails/customized_premailer.rb +4 -4
- data/lib/premailer/rails/hook.rb +2 -6
- data/lib/premailer/rails/railtie.rb +1 -1
- data/lib/premailer/rails.rb +2 -1
- data/premailer-rails.gemspec +4 -3
- data/spec/integration/css_helper_spec.rb +262 -129
- data/spec/integration/delivery_spec.rb +13 -0
- data/spec/integration/hook_spec.rb +36 -11
- data/spec/rails_app/app/assets/config/manifest.js +3 -0
- data/spec/rails_app/app/assets/stylesheets/application.css +3 -0
- data/spec/rails_app/app/mailers/application_mailer.rb +4 -0
- data/spec/rails_app/app/mailers/welcome_mailer.rb +6 -0
- data/spec/rails_app/app/views/layouts/mailer.html.erb +11 -0
- data/spec/rails_app/app/views/welcome_mailer/welcome_email.html.erb +1 -0
- data/spec/rails_app/config/application.rb +19 -0
- data/spec/rails_app/config/boot.rb +5 -0
- data/spec/rails_app/config/environment.rb +2 -0
- data/spec/rails_app/config/environments/test.rb +10 -0
- data/spec/rails_app/config/initializers/assets.rb +1 -0
- data/spec/rails_app/config/routes.rb +3 -0
- data/spec/rails_app/config.ru +5 -0
- data/spec/rails_app/log/.keep +0 -0
- data/spec/rails_app/tmp/.keep +0 -0
- data/spec/spec_helper.rb +3 -17
- data/spec/support/fixtures/message.rb +40 -0
- data/spec/unit/css_loaders/asset_pipeline_loader_spec.rb +44 -32
- data/spec/unit/css_loaders/file_system_loader_spec.rb +37 -0
- data/spec/unit/css_loaders/network_loader_spec.rb +1 -1
- data/spec/unit/css_loaders/propshaft_loader_spec.rb +57 -0
- data/spec/unit/customized_premailer_spec.rb +32 -40
- metadata +121 -81
- data/.coveralls.yml +0 -1
- data/.travis.yml +0 -22
- data/example/Gemfile +0 -10
- data/example/config/boot.rb +0 -3
- data/example/config/secrets.yml +0 -2
- data/lib/premailer/rails/css_loaders/cache_loader.rb +0 -29
- data/spec/integration/hook_registration_spec.rb +0 -11
- data/spec/support/stubs/action_mailer.rb +0 -5
- data/spec/support/stubs/rails.rb +0 -51
- /data/{example → examples/rails5}/.gitignore +0 -0
- /data/{example → examples/rails5}/README.md +0 -0
- /data/{example → examples/rails5}/app/assets/stylesheets/email.css +0 -0
- /data/{example → examples/rails5}/app/mailers/example_mailer.rb +0 -0
- /data/{example → examples/rails5}/app/views/example_mailer/test_message.html.erb +0 -0
- /data/{example → examples/rails5}/config/environments/development.rb +0 -0
- /data/{example → examples/rails5}/config/environments/production.rb +0 -0
- /data/{example → examples/rails5}/config/initializers/assets.rb +0 -0
- /data/{example → examples/rails5}/config/routes.rb +0 -0
- /data/{example → examples/rails5}/test/mailers/previews/example_mailer_preview.rb +0 -0
data/spec/spec_helper.rb
CHANGED
@@ -1,22 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
Coveralls::Output.silent = true
|
5
|
-
Coveralls.wear! do
|
6
|
-
add_filter 'spec/'
|
7
|
-
end
|
8
|
-
else
|
9
|
-
require 'simplecov'
|
10
|
-
SimpleCov.start
|
11
|
-
end
|
12
|
-
end
|
1
|
+
# Configure Rails Environment
|
2
|
+
ENV["RAILS_ENV"] = "test"
|
3
|
+
require File.expand_path("../../spec/rails_app/config/environment.rb", __FILE__)
|
13
4
|
|
14
|
-
require 'premailer/rails'
|
15
|
-
|
16
|
-
require 'support/stubs/action_mailer'
|
17
|
-
require 'support/stubs/rails'
|
18
5
|
require 'support/fixtures/message'
|
19
6
|
require 'support/fixtures/html'
|
20
7
|
|
21
|
-
require 'hpricot' unless RUBY_PLATFORM == 'java'
|
22
8
|
require 'nokogiri'
|
@@ -35,6 +35,30 @@ module Fixtures
|
|
35
35
|
</html>
|
36
36
|
HTML
|
37
37
|
|
38
|
+
HTML_PART_IN_GREEK = <<-HTML.encode(Encoding::ISO_8859_7)
|
39
|
+
<html>
|
40
|
+
<head>
|
41
|
+
</head>
|
42
|
+
<body>
|
43
|
+
<p>
|
44
|
+
Αα Ββ Γγ Δδ Εε Ζζ Ηη Θθ Ιι Κκ Λλ Μμ Νν Ξξ Οο Ππ Ρρ Σσ Ττ Υυ Φφ Χχ Ψψ Ωω
|
45
|
+
</p>
|
46
|
+
</body>
|
47
|
+
</html>
|
48
|
+
HTML
|
49
|
+
|
50
|
+
HTML_PART_WITH_DASHES = <<-HTML
|
51
|
+
<html>
|
52
|
+
<head>
|
53
|
+
</head>
|
54
|
+
<body>
|
55
|
+
<p>
|
56
|
+
Hello there—yes you! What's up with – pardon the interrupion – dashes? I can also do – and —.
|
57
|
+
</p>
|
58
|
+
</body>
|
59
|
+
</html>
|
60
|
+
HTML
|
61
|
+
|
38
62
|
HTML_PART_WITH_CSS = <<-HTML
|
39
63
|
<html>
|
40
64
|
<head>
|
@@ -130,6 +154,22 @@ nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
|
130
154
|
end
|
131
155
|
end
|
132
156
|
|
157
|
+
def greek_message
|
158
|
+
base_message.tap do |message|
|
159
|
+
message.body = HTML_PART_IN_GREEK
|
160
|
+
message.content_type 'text/html; charset=ISO-8859-7'
|
161
|
+
message.ready_to_send!
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
def dash_message
|
166
|
+
base_message.tap do |message|
|
167
|
+
message.body = HTML_PART_WITH_DASHES
|
168
|
+
message.content_type 'text/html; charset=UTF-8'
|
169
|
+
message.ready_to_send!
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
133
173
|
private
|
134
174
|
|
135
175
|
def base_message
|
@@ -1,45 +1,57 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
describe ".file_name" do
|
11
|
-
subject do
|
12
|
-
Premailer::Rails::CSSLoaders::AssetPipelineLoader.file_name(asset)
|
3
|
+
if defined?(::Sprockets)
|
4
|
+
describe Premailer::Rails::CSSLoaders::AssetPipelineLoader do
|
5
|
+
before do
|
6
|
+
allow(Rails.configuration)
|
7
|
+
.to receive(:assets).and_return(double(prefix: '/assets'))
|
8
|
+
allow(Rails.configuration).to receive(:relative_url_root).and_return(nil)
|
13
9
|
end
|
14
10
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
11
|
+
describe ".file_name" do
|
12
|
+
subject do
|
13
|
+
Premailer::Rails::CSSLoaders::AssetPipelineLoader.file_name(asset)
|
14
|
+
end
|
19
15
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
.to receive(:relative_url_root).and_return('/foo')
|
16
|
+
context "when asset file path contains prefix" do
|
17
|
+
let(:asset) { '/assets/application.css' }
|
18
|
+
it { is_expected.to eq('application.css') }
|
24
19
|
end
|
25
20
|
|
26
|
-
|
27
|
-
|
28
|
-
|
21
|
+
context "when asset file path contains prefix and relative_url_root is set" do
|
22
|
+
before do
|
23
|
+
allow(Rails.configuration)
|
24
|
+
.to receive(:relative_url_root).and_return('/foo')
|
25
|
+
end
|
29
26
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
end
|
27
|
+
let(:asset) { '/foo/assets/application.css' }
|
28
|
+
it { is_expected.to eq('application.css') }
|
29
|
+
end
|
34
30
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
31
|
+
context "when asset file path contains prefix and relative_url_root is set to root" do
|
32
|
+
before do
|
33
|
+
allow(Rails.configuration)
|
34
|
+
.to receive(:relative_url_root).and_return('/')
|
35
|
+
end
|
39
36
|
|
40
|
-
|
41
|
-
|
42
|
-
|
37
|
+
let(:asset) { '/assets/application.css' }
|
38
|
+
it { is_expected.to eq('application.css') }
|
39
|
+
end
|
40
|
+
|
41
|
+
context "when asset file path contains 32 chars fingerprint" do
|
42
|
+
let(:asset) { 'application-6776f581a4329e299531e1d52aa59832.css' }
|
43
|
+
it { is_expected.to eq('application.css') }
|
44
|
+
end
|
45
|
+
|
46
|
+
context "when asset file path contains 64 chars fingerprint" do
|
47
|
+
let(:asset) { 'application-02275ccb3fd0c11615bbfb11c99ea123ca2287e75045fe7b72cefafb880dad2b.css' }
|
48
|
+
it { is_expected.to eq('application.css') }
|
49
|
+
end
|
50
|
+
|
51
|
+
context "when asset file page contains numbers, but not a fingerprint" do
|
52
|
+
let(:asset) { 'test/20130708152545-foo-bar.css' }
|
53
|
+
it { is_expected.to eq("test/20130708152545-foo-bar.css") }
|
54
|
+
end
|
43
55
|
end
|
44
56
|
end
|
45
57
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Premailer::Rails::CSSLoaders::FileSystemLoader do
|
4
|
+
before do
|
5
|
+
allow(Rails.configuration)
|
6
|
+
.to receive(:assets).and_return(double(prefix: '/assets'))
|
7
|
+
allow(Rails)
|
8
|
+
.to receive(:root).and_return(Pathname.new('/rails_root'))
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#file_name' do
|
12
|
+
subject { described_class.file_name(asset) }
|
13
|
+
let(:relative_url_root) { nil }
|
14
|
+
|
15
|
+
before do
|
16
|
+
config = double(relative_url_root: relative_url_root)
|
17
|
+
allow(Rails).to receive(:configuration).and_return(config)
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'when relative_url_root is not set' do
|
21
|
+
let(:asset) { '/assets/application.css' }
|
22
|
+
it { is_expected.to eq(File.join(Rails.root, 'public/assets/application.css')) }
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'when relative_url_root is set' do
|
26
|
+
let(:relative_url_root) { '/foo' }
|
27
|
+
let(:asset) { '/foo/assets/application.css' }
|
28
|
+
it { is_expected.to eq(File.join(Rails.root, 'public/assets/application.css')) }
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'when relative_url_root has a trailing slash' do
|
32
|
+
let(:relative_url_root) { '/foo/' }
|
33
|
+
let(:asset) { '/foo/assets/application.css' }
|
34
|
+
it { is_expected.to eq(File.join(Rails.root, 'public/assets/application.css')) }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -18,7 +18,7 @@ describe Premailer::Rails::CSSLoaders::NetworkLoader do
|
|
18
18
|
|
19
19
|
context 'with a protocol relative URL' do
|
20
20
|
let(:url) { '//example.com/test.css' }
|
21
|
-
it { is_expected.to eq(URI("http
|
21
|
+
it { is_expected.to eq(URI("http:#{url}")) }
|
22
22
|
end
|
23
23
|
|
24
24
|
context 'with a file path' do
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
if defined?(::Propshaft)
|
4
|
+
describe Premailer::Rails::CSSLoaders::PropshaftLoader do
|
5
|
+
before do
|
6
|
+
allow(Rails.application)
|
7
|
+
.to receive(:assets).and_return(double(prefix: '/assets'))
|
8
|
+
allow(Rails.configuration).to receive(:relative_url_root).and_return(nil)
|
9
|
+
end
|
10
|
+
|
11
|
+
describe ".file_name" do
|
12
|
+
subject do
|
13
|
+
described_class.file_name(asset)
|
14
|
+
end
|
15
|
+
|
16
|
+
context "when asset file path contains prefix" do
|
17
|
+
let(:asset) { '/assets/application.css' }
|
18
|
+
it { is_expected.to eq('application.css') }
|
19
|
+
end
|
20
|
+
|
21
|
+
context "when asset file path contains prefix and relative_url_root is set" do
|
22
|
+
before do
|
23
|
+
allow(Rails.configuration)
|
24
|
+
.to receive(:relative_url_root).and_return('/foo')
|
25
|
+
end
|
26
|
+
|
27
|
+
let(:asset) { '/foo/assets/application.css' }
|
28
|
+
it { is_expected.to eq('application.css') }
|
29
|
+
end
|
30
|
+
|
31
|
+
context "when asset file path contains prefix and relative_url_root is set to root" do
|
32
|
+
before do
|
33
|
+
allow(Rails.configuration)
|
34
|
+
.to receive(:relative_url_root).and_return('/')
|
35
|
+
end
|
36
|
+
|
37
|
+
let(:asset) { '/assets/application.css' }
|
38
|
+
it { is_expected.to eq('application.css') }
|
39
|
+
end
|
40
|
+
|
41
|
+
context "when asset file path contains 7 chars fingerprint" do
|
42
|
+
let(:asset) { 'application-1234567.css' }
|
43
|
+
it { is_expected.to eq('application.css') }
|
44
|
+
end
|
45
|
+
|
46
|
+
context "when asset file path contains 128 chars fingerprint" do
|
47
|
+
let(:asset) { 'application-02275ccb3fd0c11615bbfb11c99ea123ca2287e75045fe7b72cefafb880dad2b.css' }
|
48
|
+
it { is_expected.to eq('application.css') }
|
49
|
+
end
|
50
|
+
|
51
|
+
context "when asset file page contains numbers, but not a fingerprint" do
|
52
|
+
let(:asset) { 'test/20130708152545-foo-bar.css' }
|
53
|
+
it { is_expected.to eq("test/20130708152545-foo-bar.css") }
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -1,51 +1,43 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Premailer::Rails::CustomizedPremailer do
|
4
|
-
|
5
|
-
|
4
|
+
describe '#to_plain_text' do
|
5
|
+
it 'includes the text from the HTML part' do
|
6
|
+
premailer =
|
7
|
+
Premailer::Rails::CustomizedPremailer
|
8
|
+
.new(Fixtures::Message::HTML_PART)
|
9
|
+
expect(premailer.to_plain_text.gsub(/\s/, ' ').strip).to \
|
10
|
+
eq(Fixtures::Message::TEXT_PART.gsub(/\s/, ' ').strip)
|
11
|
+
end
|
12
|
+
end
|
6
13
|
|
7
|
-
|
8
|
-
|
14
|
+
describe '#to_inline_css' do
|
15
|
+
let(:regex) { %r{<p style=("|')color: ?red;?\1>} }
|
9
16
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
end
|
17
|
+
context 'when inline CSS block present' do
|
18
|
+
it 'returns the HTML with the CSS inlined' do
|
19
|
+
allow(Premailer::Rails::CSSHelper).to \
|
20
|
+
receive(:css_for_doc).and_return('p { color: red; }')
|
21
|
+
html = Fixtures::Message::HTML_PART
|
22
|
+
premailer = Premailer::Rails::CustomizedPremailer.new(html)
|
23
|
+
expect(premailer.to_inline_css).to match(regex)
|
18
24
|
end
|
25
|
+
end
|
19
26
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
html = Fixtures::Message::HTML_PART
|
28
|
-
premailer = Premailer::Rails::CustomizedPremailer.new(html)
|
29
|
-
expect(premailer.to_inline_css).to match(regex)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
context 'when CSS is loaded externally' do
|
34
|
-
it 'returns the HTML with the CSS inlined' do
|
35
|
-
html = Fixtures::Message::HTML_PART_WITH_CSS
|
36
|
-
premailer = Premailer::Rails::CustomizedPremailer.new(html)
|
37
|
-
expect(premailer.to_inline_css).to match(regex)
|
38
|
-
end
|
39
|
-
end
|
27
|
+
context 'when CSS is loaded externally' do
|
28
|
+
it 'returns the HTML with the CSS inlined' do
|
29
|
+
html = Fixtures::Message::HTML_PART_WITH_CSS
|
30
|
+
premailer = Premailer::Rails::CustomizedPremailer.new(html)
|
31
|
+
expect(premailer.to_inline_css).to match(regex)
|
32
|
+
end
|
33
|
+
end
|
40
34
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|
35
|
+
context 'when HTML contains unicode' do
|
36
|
+
it 'does not mess those up' do
|
37
|
+
html = Fixtures::Message::HTML_PART_WITH_UNICODE
|
38
|
+
premailer = Premailer::Rails::CustomizedPremailer.new(html)
|
39
|
+
expect(premailer.to_inline_css).to \
|
40
|
+
include(Fixtures::Message::UNICODE_STRING)
|
49
41
|
end
|
50
42
|
end
|
51
43
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: premailer-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philipe Fatio
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: premailer
|
@@ -37,9 +37,6 @@ dependencies:
|
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '3'
|
40
|
-
- - "<"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '6'
|
43
40
|
type: :runtime
|
44
41
|
prerelease: false
|
45
42
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -47,31 +44,14 @@ dependencies:
|
|
47
44
|
- - ">="
|
48
45
|
- !ruby/object:Gem::Version
|
49
46
|
version: '3'
|
50
|
-
- - "<"
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '6'
|
53
47
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
56
|
-
requirements:
|
57
|
-
- - "~>"
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: '3.3'
|
60
|
-
type: :development
|
61
|
-
prerelease: false
|
62
|
-
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
64
|
-
- - "~>"
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '3.3'
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: nokogiri
|
48
|
+
name: net-smtp
|
69
49
|
requirement: !ruby/object:Gem::Requirement
|
70
50
|
requirements:
|
71
51
|
- - ">="
|
72
52
|
- !ruby/object:Gem::Version
|
73
53
|
version: '0'
|
74
|
-
type: :
|
54
|
+
type: :runtime
|
75
55
|
prerelease: false
|
76
56
|
version_requirements: !ruby/object:Gem::Requirement
|
77
57
|
requirements:
|
@@ -79,21 +59,21 @@ dependencies:
|
|
79
59
|
- !ruby/object:Gem::Version
|
80
60
|
version: '0'
|
81
61
|
- !ruby/object:Gem::Dependency
|
82
|
-
name:
|
62
|
+
name: rspec
|
83
63
|
requirement: !ruby/object:Gem::Requirement
|
84
64
|
requirements:
|
85
|
-
- - "
|
65
|
+
- - "~>"
|
86
66
|
- !ruby/object:Gem::Version
|
87
|
-
version: '
|
67
|
+
version: '3.3'
|
88
68
|
type: :development
|
89
69
|
prerelease: false
|
90
70
|
version_requirements: !ruby/object:Gem::Requirement
|
91
71
|
requirements:
|
92
|
-
- - "
|
72
|
+
- - "~>"
|
93
73
|
- !ruby/object:Gem::Version
|
94
|
-
version: '
|
74
|
+
version: '3.3'
|
95
75
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
76
|
+
name: nokogiri
|
97
77
|
requirement: !ruby/object:Gem::Requirement
|
98
78
|
requirements:
|
99
79
|
- - ">="
|
@@ -117,63 +97,127 @@ executables: []
|
|
117
97
|
extensions: []
|
118
98
|
extra_rdoc_files: []
|
119
99
|
files:
|
120
|
-
- ".
|
100
|
+
- ".github/workflows/test.yml"
|
121
101
|
- ".gitignore"
|
122
102
|
- ".rspec"
|
123
|
-
- ".travis.yml"
|
124
103
|
- CHANGELOG.md
|
125
104
|
- Gemfile
|
126
105
|
- LICENSE
|
127
106
|
- README.md
|
128
107
|
- Rakefile
|
129
108
|
- VERSION
|
130
|
-
-
|
131
|
-
-
|
132
|
-
-
|
133
|
-
-
|
134
|
-
-
|
135
|
-
-
|
136
|
-
-
|
137
|
-
-
|
138
|
-
-
|
139
|
-
-
|
140
|
-
-
|
141
|
-
-
|
142
|
-
-
|
143
|
-
-
|
144
|
-
-
|
145
|
-
-
|
146
|
-
-
|
147
|
-
-
|
109
|
+
- examples/rails5/.gitignore
|
110
|
+
- examples/rails5/Gemfile
|
111
|
+
- examples/rails5/README.md
|
112
|
+
- examples/rails5/Rakefile
|
113
|
+
- examples/rails5/app/assets/stylesheets/email.css
|
114
|
+
- examples/rails5/app/mailers/example_mailer.rb
|
115
|
+
- examples/rails5/app/views/example_mailer/test_message.html.erb
|
116
|
+
- examples/rails5/bin/rails
|
117
|
+
- examples/rails5/config.ru
|
118
|
+
- examples/rails5/config/application.rb
|
119
|
+
- examples/rails5/config/boot.rb
|
120
|
+
- examples/rails5/config/environment.rb
|
121
|
+
- examples/rails5/config/environments/development.rb
|
122
|
+
- examples/rails5/config/environments/production.rb
|
123
|
+
- examples/rails5/config/initializers/assets.rb
|
124
|
+
- examples/rails5/config/routes.rb
|
125
|
+
- examples/rails5/test/mailers/previews/example_mailer_preview.rb
|
126
|
+
- examples/rails6/.gitignore
|
127
|
+
- examples/rails6/Gemfile
|
128
|
+
- examples/rails6/README.md
|
129
|
+
- examples/rails6/Rakefile
|
130
|
+
- examples/rails6/app/assets/config/manifest.js
|
131
|
+
- examples/rails6/app/assets/stylesheets/email.css
|
132
|
+
- examples/rails6/app/mailers/example_mailer.rb
|
133
|
+
- examples/rails6/app/views/example_mailer/test_message.html.erb
|
134
|
+
- examples/rails6/bin/rails
|
135
|
+
- examples/rails6/config.ru
|
136
|
+
- examples/rails6/config/application.rb
|
137
|
+
- examples/rails6/config/boot.rb
|
138
|
+
- examples/rails6/config/environment.rb
|
139
|
+
- examples/rails6/config/environments/development.rb
|
140
|
+
- examples/rails6/config/environments/production.rb
|
141
|
+
- examples/rails6/config/routes.rb
|
142
|
+
- examples/rails6/test/mailers/previews/example_mailer_preview.rb
|
143
|
+
- examples/rails7-propshaft/.gitignore
|
144
|
+
- examples/rails7-propshaft/Gemfile
|
145
|
+
- examples/rails7-propshaft/README.md
|
146
|
+
- examples/rails7-propshaft/Rakefile
|
147
|
+
- examples/rails7-propshaft/app/assets/stylesheets/email.css
|
148
|
+
- examples/rails7-propshaft/app/mailers/example_mailer.rb
|
149
|
+
- examples/rails7-propshaft/app/views/example_mailer/test_message.html.erb
|
150
|
+
- examples/rails7-propshaft/bin/rails
|
151
|
+
- examples/rails7-propshaft/config.ru
|
152
|
+
- examples/rails7-propshaft/config/application.rb
|
153
|
+
- examples/rails7-propshaft/config/boot.rb
|
154
|
+
- examples/rails7-propshaft/config/environment.rb
|
155
|
+
- examples/rails7-propshaft/config/environments/development.rb
|
156
|
+
- examples/rails7-propshaft/config/environments/production.rb
|
157
|
+
- examples/rails7-propshaft/config/routes.rb
|
158
|
+
- examples/rails7-propshaft/test/mailers/previews/example_mailer_preview.rb
|
159
|
+
- examples/rails7-sprockets/.gitignore
|
160
|
+
- examples/rails7-sprockets/Gemfile
|
161
|
+
- examples/rails7-sprockets/README.md
|
162
|
+
- examples/rails7-sprockets/Rakefile
|
163
|
+
- examples/rails7-sprockets/app/assets/config/manifest.js
|
164
|
+
- examples/rails7-sprockets/app/assets/stylesheets/email.css
|
165
|
+
- examples/rails7-sprockets/app/mailers/example_mailer.rb
|
166
|
+
- examples/rails7-sprockets/app/views/example_mailer/test_message.html.erb
|
167
|
+
- examples/rails7-sprockets/bin/rails
|
168
|
+
- examples/rails7-sprockets/config.ru
|
169
|
+
- examples/rails7-sprockets/config/application.rb
|
170
|
+
- examples/rails7-sprockets/config/boot.rb
|
171
|
+
- examples/rails7-sprockets/config/environment.rb
|
172
|
+
- examples/rails7-sprockets/config/environments/development.rb
|
173
|
+
- examples/rails7-sprockets/config/environments/production.rb
|
174
|
+
- examples/rails7-sprockets/config/routes.rb
|
175
|
+
- examples/rails7-sprockets/test/mailers/previews/example_mailer_preview.rb
|
148
176
|
- lib/premailer/rails.rb
|
149
177
|
- lib/premailer/rails/css_helper.rb
|
150
178
|
- lib/premailer/rails/css_loaders.rb
|
151
179
|
- lib/premailer/rails/css_loaders/asset_pipeline_loader.rb
|
152
|
-
- lib/premailer/rails/css_loaders/cache_loader.rb
|
153
180
|
- lib/premailer/rails/css_loaders/file_system_loader.rb
|
154
181
|
- lib/premailer/rails/css_loaders/network_loader.rb
|
182
|
+
- lib/premailer/rails/css_loaders/propshaft_loader.rb
|
155
183
|
- lib/premailer/rails/customized_premailer.rb
|
156
184
|
- lib/premailer/rails/hook.rb
|
157
185
|
- lib/premailer/rails/railtie.rb
|
158
186
|
- lib/premailer/rails/version.rb
|
159
187
|
- premailer-rails.gemspec
|
160
188
|
- spec/integration/css_helper_spec.rb
|
161
|
-
- spec/integration/
|
189
|
+
- spec/integration/delivery_spec.rb
|
162
190
|
- spec/integration/hook_spec.rb
|
191
|
+
- spec/rails_app/app/assets/config/manifest.js
|
192
|
+
- spec/rails_app/app/assets/stylesheets/application.css
|
193
|
+
- spec/rails_app/app/mailers/application_mailer.rb
|
194
|
+
- spec/rails_app/app/mailers/welcome_mailer.rb
|
195
|
+
- spec/rails_app/app/views/layouts/mailer.html.erb
|
196
|
+
- spec/rails_app/app/views/welcome_mailer/welcome_email.html.erb
|
197
|
+
- spec/rails_app/config.ru
|
198
|
+
- spec/rails_app/config/application.rb
|
199
|
+
- spec/rails_app/config/boot.rb
|
200
|
+
- spec/rails_app/config/environment.rb
|
201
|
+
- spec/rails_app/config/environments/test.rb
|
202
|
+
- spec/rails_app/config/initializers/assets.rb
|
203
|
+
- spec/rails_app/config/routes.rb
|
204
|
+
- spec/rails_app/log/.keep
|
205
|
+
- spec/rails_app/tmp/.keep
|
163
206
|
- spec/spec_helper.rb
|
164
207
|
- spec/support/fixtures/html.rb
|
165
208
|
- spec/support/fixtures/message.rb
|
166
|
-
- spec/support/stubs/action_mailer.rb
|
167
|
-
- spec/support/stubs/rails.rb
|
168
209
|
- spec/unit/css_loaders/asset_pipeline_loader_spec.rb
|
210
|
+
- spec/unit/css_loaders/file_system_loader_spec.rb
|
169
211
|
- spec/unit/css_loaders/network_loader_spec.rb
|
212
|
+
- spec/unit/css_loaders/propshaft_loader_spec.rb
|
170
213
|
- spec/unit/customized_premailer_spec.rb
|
171
214
|
- spec/unit/premailer_rails_spec.rb
|
172
215
|
homepage: https://github.com/fphilipe/premailer-rails
|
173
216
|
licenses:
|
174
217
|
- MIT
|
175
|
-
metadata:
|
176
|
-
|
218
|
+
metadata:
|
219
|
+
changelog_uri: https://github.com/fphilipe/premailer-rails/blob/v1.12.0/CHANGELOG.md
|
220
|
+
post_install_message:
|
177
221
|
rdoc_options: []
|
178
222
|
require_paths:
|
179
223
|
- lib
|
@@ -188,39 +232,35 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
188
232
|
- !ruby/object:Gem::Version
|
189
233
|
version: '0'
|
190
234
|
requirements: []
|
191
|
-
|
192
|
-
|
193
|
-
signing_key:
|
235
|
+
rubygems_version: 3.3.3
|
236
|
+
signing_key:
|
194
237
|
specification_version: 4
|
195
238
|
summary: Easily create styled HTML emails in Rails.
|
196
239
|
test_files:
|
197
|
-
- example/Gemfile
|
198
|
-
- example/README.md
|
199
|
-
- example/Rakefile
|
200
|
-
- example/app/assets/stylesheets/email.css
|
201
|
-
- example/app/mailers/example_mailer.rb
|
202
|
-
- example/app/views/example_mailer/test_message.html.erb
|
203
|
-
- example/bin/rails
|
204
|
-
- example/config.ru
|
205
|
-
- example/config/application.rb
|
206
|
-
- example/config/boot.rb
|
207
|
-
- example/config/environment.rb
|
208
|
-
- example/config/environments/development.rb
|
209
|
-
- example/config/environments/production.rb
|
210
|
-
- example/config/initializers/assets.rb
|
211
|
-
- example/config/routes.rb
|
212
|
-
- example/config/secrets.yml
|
213
|
-
- example/test/mailers/previews/example_mailer_preview.rb
|
214
240
|
- spec/integration/css_helper_spec.rb
|
215
|
-
- spec/integration/
|
241
|
+
- spec/integration/delivery_spec.rb
|
216
242
|
- spec/integration/hook_spec.rb
|
243
|
+
- spec/rails_app/app/assets/config/manifest.js
|
244
|
+
- spec/rails_app/app/assets/stylesheets/application.css
|
245
|
+
- spec/rails_app/app/mailers/application_mailer.rb
|
246
|
+
- spec/rails_app/app/mailers/welcome_mailer.rb
|
247
|
+
- spec/rails_app/app/views/layouts/mailer.html.erb
|
248
|
+
- spec/rails_app/app/views/welcome_mailer/welcome_email.html.erb
|
249
|
+
- spec/rails_app/config.ru
|
250
|
+
- spec/rails_app/config/application.rb
|
251
|
+
- spec/rails_app/config/boot.rb
|
252
|
+
- spec/rails_app/config/environment.rb
|
253
|
+
- spec/rails_app/config/environments/test.rb
|
254
|
+
- spec/rails_app/config/initializers/assets.rb
|
255
|
+
- spec/rails_app/config/routes.rb
|
256
|
+
- spec/rails_app/log/.keep
|
257
|
+
- spec/rails_app/tmp/.keep
|
217
258
|
- spec/spec_helper.rb
|
218
259
|
- spec/support/fixtures/html.rb
|
219
260
|
- spec/support/fixtures/message.rb
|
220
|
-
- spec/support/stubs/action_mailer.rb
|
221
|
-
- spec/support/stubs/rails.rb
|
222
261
|
- spec/unit/css_loaders/asset_pipeline_loader_spec.rb
|
262
|
+
- spec/unit/css_loaders/file_system_loader_spec.rb
|
223
263
|
- spec/unit/css_loaders/network_loader_spec.rb
|
264
|
+
- spec/unit/css_loaders/propshaft_loader_spec.rb
|
224
265
|
- spec/unit/customized_premailer_spec.rb
|
225
266
|
- spec/unit/premailer_rails_spec.rb
|
226
|
-
has_rdoc:
|
data/.coveralls.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
service_name: travis-ci
|