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.
Files changed (120) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/test.yml +64 -0
  3. data/.gitignore +4 -0
  4. data/CHANGELOG.md +40 -0
  5. data/Gemfile +15 -11
  6. data/README.md +32 -37
  7. data/VERSION +1 -1
  8. data/examples/rails5/Gemfile +4 -0
  9. data/{example → examples/rails5}/Rakefile +1 -1
  10. data/{example → examples/rails5}/bin/rails +1 -1
  11. data/{example → examples/rails5}/config/application.rb +4 -1
  12. data/examples/rails5/config/boot.rb +3 -0
  13. data/{example → examples/rails5}/config/environment.rb +1 -1
  14. data/{example → examples/rails5}/config.ru +2 -1
  15. data/examples/rails6/.gitignore +16 -0
  16. data/examples/rails6/Gemfile +5 -0
  17. data/examples/rails6/README.md +10 -0
  18. data/examples/rails6/Rakefile +6 -0
  19. data/examples/rails6/app/assets/config/manifest.js +1 -0
  20. data/examples/rails6/app/assets/stylesheets/email.css +32 -0
  21. data/examples/rails6/app/mailers/example_mailer.rb +7 -0
  22. data/examples/rails6/app/views/example_mailer/test_message.html.erb +18 -0
  23. data/examples/rails6/bin/rails +4 -0
  24. data/examples/rails6/config/application.rb +15 -0
  25. data/examples/rails6/config/boot.rb +3 -0
  26. data/examples/rails6/config/environment.rb +5 -0
  27. data/examples/rails6/config/environments/development.rb +9 -0
  28. data/examples/rails6/config/environments/production.rb +9 -0
  29. data/examples/rails6/config/routes.rb +3 -0
  30. data/examples/rails6/config.ru +6 -0
  31. data/examples/rails6/test/mailers/previews/example_mailer_preview.rb +5 -0
  32. data/examples/rails7-propshaft/.gitignore +16 -0
  33. data/examples/rails7-propshaft/Gemfile +6 -0
  34. data/examples/rails7-propshaft/README.md +10 -0
  35. data/examples/rails7-propshaft/Rakefile +6 -0
  36. data/examples/rails7-propshaft/app/assets/stylesheets/email.css +32 -0
  37. data/examples/rails7-propshaft/app/mailers/example_mailer.rb +7 -0
  38. data/examples/rails7-propshaft/app/views/example_mailer/test_message.html.erb +18 -0
  39. data/examples/rails7-propshaft/bin/rails +4 -0
  40. data/examples/rails7-propshaft/config/application.rb +14 -0
  41. data/examples/rails7-propshaft/config/boot.rb +3 -0
  42. data/examples/rails7-propshaft/config/environment.rb +5 -0
  43. data/examples/rails7-propshaft/config/environments/development.rb +9 -0
  44. data/examples/rails7-propshaft/config/environments/production.rb +9 -0
  45. data/examples/rails7-propshaft/config/routes.rb +3 -0
  46. data/examples/rails7-propshaft/config.ru +6 -0
  47. data/examples/rails7-propshaft/test/mailers/previews/example_mailer_preview.rb +5 -0
  48. data/examples/rails7-sprockets/.gitignore +16 -0
  49. data/examples/rails7-sprockets/Gemfile +6 -0
  50. data/examples/rails7-sprockets/README.md +10 -0
  51. data/examples/rails7-sprockets/Rakefile +6 -0
  52. data/examples/rails7-sprockets/app/assets/config/manifest.js +1 -0
  53. data/examples/rails7-sprockets/app/assets/stylesheets/email.css +32 -0
  54. data/examples/rails7-sprockets/app/mailers/example_mailer.rb +7 -0
  55. data/examples/rails7-sprockets/app/views/example_mailer/test_message.html.erb +18 -0
  56. data/examples/rails7-sprockets/bin/rails +4 -0
  57. data/examples/rails7-sprockets/config/application.rb +14 -0
  58. data/examples/rails7-sprockets/config/boot.rb +3 -0
  59. data/examples/rails7-sprockets/config/environment.rb +5 -0
  60. data/examples/rails7-sprockets/config/environments/development.rb +9 -0
  61. data/examples/rails7-sprockets/config/environments/production.rb +9 -0
  62. data/examples/rails7-sprockets/config/routes.rb +3 -0
  63. data/examples/rails7-sprockets/config.ru +6 -0
  64. data/examples/rails7-sprockets/test/mailers/previews/example_mailer_preview.rb +5 -0
  65. data/lib/premailer/rails/css_helper.rb +32 -11
  66. data/lib/premailer/rails/css_loaders/asset_pipeline_loader.rb +16 -15
  67. data/lib/premailer/rails/css_loaders/file_system_loader.rb +24 -2
  68. data/lib/premailer/rails/css_loaders/network_loader.rb +2 -2
  69. data/lib/premailer/rails/css_loaders/propshaft_loader.rb +38 -0
  70. data/lib/premailer/rails/css_loaders.rb +1 -1
  71. data/lib/premailer/rails/customized_premailer.rb +4 -4
  72. data/lib/premailer/rails/hook.rb +2 -6
  73. data/lib/premailer/rails/railtie.rb +1 -1
  74. data/lib/premailer/rails.rb +2 -1
  75. data/premailer-rails.gemspec +4 -3
  76. data/spec/integration/css_helper_spec.rb +262 -129
  77. data/spec/integration/delivery_spec.rb +13 -0
  78. data/spec/integration/hook_spec.rb +36 -11
  79. data/spec/rails_app/app/assets/config/manifest.js +3 -0
  80. data/spec/rails_app/app/assets/stylesheets/application.css +3 -0
  81. data/spec/rails_app/app/mailers/application_mailer.rb +4 -0
  82. data/spec/rails_app/app/mailers/welcome_mailer.rb +6 -0
  83. data/spec/rails_app/app/views/layouts/mailer.html.erb +11 -0
  84. data/spec/rails_app/app/views/welcome_mailer/welcome_email.html.erb +1 -0
  85. data/spec/rails_app/config/application.rb +19 -0
  86. data/spec/rails_app/config/boot.rb +5 -0
  87. data/spec/rails_app/config/environment.rb +2 -0
  88. data/spec/rails_app/config/environments/test.rb +10 -0
  89. data/spec/rails_app/config/initializers/assets.rb +1 -0
  90. data/spec/rails_app/config/routes.rb +3 -0
  91. data/spec/rails_app/config.ru +5 -0
  92. data/spec/rails_app/log/.keep +0 -0
  93. data/spec/rails_app/tmp/.keep +0 -0
  94. data/spec/spec_helper.rb +3 -17
  95. data/spec/support/fixtures/message.rb +40 -0
  96. data/spec/unit/css_loaders/asset_pipeline_loader_spec.rb +44 -32
  97. data/spec/unit/css_loaders/file_system_loader_spec.rb +37 -0
  98. data/spec/unit/css_loaders/network_loader_spec.rb +1 -1
  99. data/spec/unit/css_loaders/propshaft_loader_spec.rb +57 -0
  100. data/spec/unit/customized_premailer_spec.rb +32 -40
  101. metadata +121 -81
  102. data/.coveralls.yml +0 -1
  103. data/.travis.yml +0 -22
  104. data/example/Gemfile +0 -10
  105. data/example/config/boot.rb +0 -3
  106. data/example/config/secrets.yml +0 -2
  107. data/lib/premailer/rails/css_loaders/cache_loader.rb +0 -29
  108. data/spec/integration/hook_registration_spec.rb +0 -11
  109. data/spec/support/stubs/action_mailer.rb +0 -5
  110. data/spec/support/stubs/rails.rb +0 -51
  111. /data/{example → examples/rails5}/.gitignore +0 -0
  112. /data/{example → examples/rails5}/README.md +0 -0
  113. /data/{example → examples/rails5}/app/assets/stylesheets/email.css +0 -0
  114. /data/{example → examples/rails5}/app/mailers/example_mailer.rb +0 -0
  115. /data/{example → examples/rails5}/app/views/example_mailer/test_message.html.erb +0 -0
  116. /data/{example → examples/rails5}/config/environments/development.rb +0 -0
  117. /data/{example → examples/rails5}/config/environments/production.rb +0 -0
  118. /data/{example → examples/rails5}/config/initializers/assets.rb +0 -0
  119. /data/{example → examples/rails5}/config/routes.rb +0 -0
  120. /data/{example → examples/rails5}/test/mailers/previews/example_mailer_preview.rb +0 -0
data/spec/spec_helper.rb CHANGED
@@ -1,22 +1,8 @@
1
- if RUBY_ENGINE == 'ruby'
2
- if ENV['CI']
3
- require 'coveralls'
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 &ndash; and &mdash;.
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
- describe Premailer::Rails::CSSLoaders::AssetPipelineLoader do
4
- before do
5
- allow(Rails.configuration)
6
- .to receive(:assets).and_return(double(prefix: '/assets'))
7
- allow(Rails.configuration).to receive(:relative_url_root).and_return(nil)
8
- end
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
- context "when asset file path contains prefix" do
16
- let(:asset) { '/assets/application.css' }
17
- it { is_expected.to eq('application.css') }
18
- end
11
+ describe ".file_name" do
12
+ subject do
13
+ Premailer::Rails::CSSLoaders::AssetPipelineLoader.file_name(asset)
14
+ end
19
15
 
20
- context "when asset file path contains prefix and relative_url_root is set" do
21
- before do
22
- allow(Rails.configuration)
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
- let(:asset) { '/foo/assets/application.css' }
27
- it { is_expected.to eq('application.css') }
28
- end
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
- context "when asset file path contains 32 chars fingerprint" do
31
- let(:asset) { 'application-6776f581a4329e299531e1d52aa59832.css' }
32
- it { is_expected.to eq('application.css') }
33
- end
27
+ let(:asset) { '/foo/assets/application.css' }
28
+ it { is_expected.to eq('application.css') }
29
+ end
34
30
 
35
- context "when asset file path contains 64 chars fingerprint" do
36
- let(:asset) { 'application-02275ccb3fd0c11615bbfb11c99ea123ca2287e75045fe7b72cefafb880dad2b.css' }
37
- it { is_expected.to eq('application.css') }
38
- end
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
- context "when asset file page contains numbers, but not a fingerprint" do
41
- let(:asset) { 'test/20130708152545-foo-bar.css' }
42
- it { is_expected.to eq("test/20130708152545-foo-bar.css") }
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://#{url}")) }
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
- [ :nokogiri, :hpricot ].each do |adapter|
5
- next if adapter == :hpricot and RUBY_PLATFORM == 'java'
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
- context "when adapter is #{adapter}" do
8
- before { allow(Premailer::Adapter).to receive(:use).and_return(adapter) }
14
+ describe '#to_inline_css' do
15
+ let(:regex) { %r{<p style=("|')color: ?red;?\1>} }
9
16
 
10
- describe '#to_plain_text' do
11
- it 'includes the text from the HTML part' do
12
- premailer =
13
- Premailer::Rails::CustomizedPremailer
14
- .new(Fixtures::Message::HTML_PART)
15
- expect(premailer.to_plain_text.gsub(/\s/, ' ').strip).to \
16
- eq(Fixtures::Message::TEXT_PART.gsub(/\s/, ' ').strip)
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
- describe '#to_inline_css' do
21
- let(:regex) { %r{<p style=("|')color: ?red;?\1>} }
22
-
23
- context 'when inline CSS block present' do
24
- it 'returns the HTML with the CSS inlined' do
25
- allow(Premailer::Rails::CSSHelper).to \
26
- receive(:css_for_doc).and_return('p { color: red; }')
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
- context 'when HTML contains unicode' do
42
- it 'does not mess those up' do
43
- html = Fixtures::Message::HTML_PART_WITH_UNICODE
44
- premailer = Premailer::Rails::CustomizedPremailer.new(html)
45
- expect(premailer.to_inline_css).to \
46
- include(Fixtures::Message::UNICODE_STRING)
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.9.5
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: 2016-12-07 00:00:00.000000000 Z
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: rspec
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: :development
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: hpricot
62
+ name: rspec
83
63
  requirement: !ruby/object:Gem::Requirement
84
64
  requirements:
85
- - - ">="
65
+ - - "~>"
86
66
  - !ruby/object:Gem::Version
87
- version: '0'
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: '0'
74
+ version: '3.3'
95
75
  - !ruby/object:Gem::Dependency
96
- name: coveralls
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
- - ".coveralls.yml"
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
- - example/.gitignore
131
- - example/Gemfile
132
- - example/README.md
133
- - example/Rakefile
134
- - example/app/assets/stylesheets/email.css
135
- - example/app/mailers/example_mailer.rb
136
- - example/app/views/example_mailer/test_message.html.erb
137
- - example/bin/rails
138
- - example/config.ru
139
- - example/config/application.rb
140
- - example/config/boot.rb
141
- - example/config/environment.rb
142
- - example/config/environments/development.rb
143
- - example/config/environments/production.rb
144
- - example/config/initializers/assets.rb
145
- - example/config/routes.rb
146
- - example/config/secrets.yml
147
- - example/test/mailers/previews/example_mailer_preview.rb
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/hook_registration_spec.rb
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
- post_install_message:
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
- rubyforge_project:
192
- rubygems_version: 2.5.2
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/hook_registration_spec.rb
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