roadie 5.2.0 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d61e03043b7a3086eeccdb7ca1e804ca3eebb5b6dabcc96d09bd5a7daa06b845
4
- data.tar.gz: d48918c67a5fe53b88e1b2607269fdf353457e8829cc7dba84bdab3f308426d3
3
+ metadata.gz: bf21805d618315993a32ce718e78c756c82627d3139c5ad9823e539d183c244f
4
+ data.tar.gz: 2d440a7a8f27d4ab08b4f5795222b329863816f4c55c593b217488ef0b97b5b0
5
5
  SHA512:
6
- metadata.gz: 7e646c9a1864e7eb00fef92649583203721b551194ae9c5dd8f979200f8fae06f84b0298252dc3f851585f45047a66ae8f10c417dcdda776046cfc5c59267c0a
7
- data.tar.gz: 0f01356119714952a4715ae0db43b96dc964168572943e7a9837cdbadadf493db56440484a6d6564fcccec6cbbc125076bf1cade4e588674ad9802dd7120d5a0
6
+ metadata.gz: 2c411ae8897ebbcf2e57dea6c1dd265c8d4c6e5ed43ca9dc20b085cb3cac084e7e92189ae2f621609a406621e7ebea4676d13d6ef38dde88394bd004a57d836e
7
+ data.tar.gz: cedc2284f27ab48522989550440235af8c39c86ff4d6f437d722b971d4356f36db674a116c3427d71374a7075d358bb478c759f5178125e6ae53e0c38072892a
@@ -11,15 +11,19 @@ on:
11
11
  jobs:
12
12
  base:
13
13
  name: Ruby ${{ matrix.ruby }}
14
- runs-on: ubuntu-20.04
14
+ runs-on: ubuntu-latest
15
15
  strategy:
16
16
  fail-fast: false
17
17
  matrix:
18
- ruby: ["2.7", "3.0", "3.1", "3.2"]
18
+ ruby:
19
+ - "2.7"
20
+ - "3.0"
21
+ - "3.1"
22
+ - "3.2"
19
23
 
20
24
  steps:
21
25
  - name: Checkout code
22
- uses: actions/checkout@v3
26
+ uses: actions/checkout@v4
23
27
 
24
28
  # This setup is not compatible with the way Travis CI was
25
29
  # setup, so the cache will only work for the root folder.
@@ -32,21 +36,21 @@ jobs:
32
36
  - name: Rake
33
37
  run: bundle exec rake
34
38
 
35
- - uses: codecov/codecov-action@v2
36
-
37
- # Does not work. The action runs in Ruby 2.6, which is not compatible with
38
- # the gem and fails to install.
39
- # This is very strange considering that the source of the action uses a
40
- # Dockerfile with Ruby 2.7. However, I don't want to spend time to fix this
41
- # in a passively maintained gem.
42
- #
43
- # lint:
44
- # runs-on: ubuntu-latest
45
- # steps:
46
- # - name: standardrb
47
- # env:
48
- # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49
- # uses: amoeba/standardrb-action@v2
50
- # permissions:
51
- # checks: write
52
- # contents: read
39
+ - uses: codecov/codecov-action@v3
40
+
41
+ lint:
42
+ runs-on: ubuntu-latest
43
+ steps:
44
+ - name: Checkout code
45
+ uses: actions/checkout@v4
46
+
47
+ # This setup is not compatible with the way Travis CI was
48
+ # setup, so the cache will only work for the root folder.
49
+ - name: Setup Ruby
50
+ uses: ruby/setup-ruby@v1
51
+ with:
52
+ ruby-version: "3.2"
53
+ bundler-cache: true
54
+
55
+ - name: standardrb
56
+ run: bundle exec standardrb
data/Changelog.md CHANGED
@@ -1,27 +1,35 @@
1
1
  ### dev
2
2
 
3
- [full changelog](https://github.com/Mange/roadie/compare/v5.2.0...master)
3
+ [full changelog](https://github.com/Mange/roadie/compare/v5.2.1...master)
4
+
5
+ Nothing yet.
6
+
7
+ ### dev
8
+
9
+ [full changelog](https://github.com/Mange/roadie/compare/v5.2.0...v5.2.1)
10
+
11
+ - Don't strip the [`:root` pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:root) - [Asger Behncke Jacobsen](https://github.com/asgerb) (#173)
4
12
 
5
13
  ### 5.2.0
6
14
 
7
15
  [full changelog](https://github.com/Mange/roadie/compare/v5.1.0...v5.2.0)
8
16
 
9
- * Upgrade to Nokogiri `~>` 1.15.
10
- * Drop support for Ruby 2.6.
11
- * Add official support for Ruby 3.2.
17
+ - Upgrade to Nokogiri `~>` 1.15.
18
+ - Drop support for Ruby 2.6.
19
+ - Add official support for Ruby 3.2.
12
20
 
13
21
  ### 5.1.0
14
22
 
15
23
  [full changelog](https://github.com/Mange/roadie/compare/v5.0.1...v5.1.0)
16
24
 
17
- * Support passing serialization options to Nokogiri with `serialization_options=` method -
25
+ - Support passing serialization options to Nokogiri with `serialization_options=` method -
18
26
  [Dmytro Savochkin](https://github.com/dmytro-savochkin). (#171)
19
27
 
20
28
  ### 5.0.1
21
29
 
22
30
  [full changelog](https://github.com/Mange/roadie/compare/v5.0.0...v5.0.1)
23
31
 
24
- * Don't try to inline [the `:host`
32
+ - Don't try to inline [the `:host`
25
33
  pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/:host) -
26
34
  [viamin (Bart Agapinan)](https://github.com/viamin). (#170)
27
35
 
@@ -29,28 +37,28 @@
29
37
 
30
38
  [full changelog](https://github.com/Mange/roadie/compare/v4.0.0...v5.0.0)
31
39
 
32
- * Drop support for Ruby 2.4 and Ruby 2.5
33
- * Drop support for JRuby and Rubinius
34
- * Test with Ruby 2.7 - [aried3r (Anton Rieder)](https://github.com/aried3r) (#167)
35
- * Test with Ruby 3.0 and Ruby 3.1
36
- * Add standardrb as code formatter
37
- * Drop support for callbacks that accepts only a single argument.
38
- * Change signature of `Roadie::CssNotFound` and `Roadie::ProvidersFailed`.
40
+ - Drop support for Ruby 2.4 and Ruby 2.5
41
+ - Drop support for JRuby and Rubinius
42
+ - Test with Ruby 2.7 - [aried3r (Anton Rieder)](https://github.com/aried3r) (#167)
43
+ - Test with Ruby 3.0 and Ruby 3.1
44
+ - Add standardrb as code formatter
45
+ - Drop support for callbacks that accepts only a single argument.
46
+ - Change signature of `Roadie::CssNotFound` and `Roadie::ProvidersFailed`.
39
47
 
40
48
  ### 4.0.0
41
49
 
42
50
  [full changelog](https://github.com/Mange/roadie/compare/v3.5.1...v4.0.0)
43
51
 
44
- * Drop support for Ruby 2.1, 2.2, and 2.3 and
52
+ - Drop support for Ruby 2.1, 2.2, and 2.3 and
45
53
  add support for frozen string literals and Ruby 2.6 - [adamkiczula (Adam
46
54
  Kiczula)](https://github.com/adamkiczula) (#164)
47
- * `Roadie::Stylesheet#each_inlinable_block` is now removed.
55
+ - `Roadie::Stylesheet#each_inlinable_block` is now removed.
48
56
 
49
57
  ### 3.5.1
50
58
 
51
59
  [full changelog](https://github.com/Mange/roadie/compare/v3.5.0...v3.5.1)
52
60
 
53
- * Gracefully handle empty string email body, such as those provided by
61
+ - Gracefully handle empty string email body, such as those provided by
54
62
  `ActionMailer::Base::NullMail` objects - [adamkiczula (Adam
55
63
  Kiczula)](https://github.com/adamkiczula) (#163).
56
64
 
@@ -58,14 +66,15 @@
58
66
 
59
67
  [full changelog](https://github.com/Mange/roadie/compare/v3.4.0...v3.5.0)
60
68
 
61
- * Drop support for Nokogiri before 1.8.
69
+ - Drop support for Nokogiri before 1.8.
62
70
 
63
71
  ### 3.4.0
64
72
 
65
73
  [full changelog](https://github.com/Mange/roadie/compare/v3.3.0...v3.4.0)
66
74
 
67
- * Enhancements
68
- * Better support for media queries - [BroiSatse (Stanislaw
75
+ - Enhancements
76
+
77
+ - Better support for media queries - [BroiSatse (Stanislaw
69
78
  Klajn)](https://github.com/BroiSatse) and [jeznag (Jeremy
70
79
  Nagel)](https://github.com/jeznag) (#157).
71
80
 
@@ -75,7 +84,7 @@
75
84
  might change specificity), but this behavior can be disabled by setting
76
85
  `merge_media_queries` to `false`.
77
86
 
78
- * Remove Guard as a development dependency. Tests run fast anyway, and I
87
+ - Remove Guard as a development dependency. Tests run fast anyway, and I
79
88
  never liked that this tool "infected" the dependencies of the project when
80
89
  it should remain a user-specific tool unless the project wants to enforce
81
90
  it.
@@ -84,138 +93,140 @@
84
93
 
85
94
  [full changelog](https://github.com/Mange/roadie/compare/v3.2.2...v3.3.0)
86
95
 
87
- * Enhancements
88
- * Allow transforming to XHTML instead of HTML - [Zhivko Draganov](https://github.com/zdraganov) (#144).
89
- * Support partial HTML documents (fragments) - #147
90
- * With the help of [andfx](https://github.com/andfx) - #115
91
- * With the help of [Frida Sjoholm](https://github.com/FridaSjoholm) - #146
92
- * Skip URL rewriting on elements with `data-roadie-ignore` - #154.
93
- * With the help of [Hamed Asghari](https://github.com/hasghari) - #138.
94
- * Bug fixes:
95
- * Apply correct string encoding / charset in `NetHttpProvider` - [Jeremy Nagel](https://github.com/jeznag) (#152).
96
+ - Enhancements
97
+ - Allow transforming to XHTML instead of HTML - [Zhivko Draganov](https://github.com/zdraganov) (#144).
98
+ - Support partial HTML documents (fragments) - #147
99
+ - With the help of [andfx](https://github.com/andfx) - #115
100
+ - With the help of [Frida Sjoholm](https://github.com/FridaSjoholm) - #146
101
+ - Skip URL rewriting on elements with `data-roadie-ignore` - #154.
102
+ - With the help of [Hamed Asghari](https://github.com/hasghari) - #138.
103
+ - Bug fixes:
104
+ - Apply correct string encoding / charset in `NetHttpProvider` - [Jeremy Nagel](https://github.com/jeznag) (#152).
96
105
 
97
106
  ### 3.2.2
98
107
 
99
108
  [full changelog](https://github.com/Mange/roadie/compare/v3.2.1...v3.2.2)
100
109
 
101
- * Enhancements
102
- * Support Nokogiri 1.x.
103
- * Support `css_parser` 1.x.
104
- * Make tests pass on Ruby 2.4.0 (upgrade Webmock).
110
+ - Enhancements
111
+ - Support Nokogiri 1.x.
112
+ - Support `css_parser` 1.x.
113
+ - Make tests pass on Ruby 2.4.0 (upgrade Webmock).
105
114
 
106
115
  ### 3.2.1
107
116
 
108
117
  [full changelog](https://github.com/Mange/roadie/compare/v3.2.0...v3.2.1)
109
118
 
110
- * Enhancements
111
- * Support Nokogiri 1.7.x.
119
+ - Enhancements
120
+ - Support Nokogiri 1.7.x.
112
121
 
113
122
  ### 3.2.0
114
123
 
115
124
  [full changelog](https://github.com/Mange/roadie/compare/v3.1.1...v3.2.0)
116
125
 
117
- * Deprecations:
118
- * Dropped support for MRI 1.9.3.
119
- * Dropped support for MRI 2.0.
120
- * Upgrades:
121
- * Use `css_parser` 1.4.x instead of 1.3.x.
122
- * Bug fixes:
123
- * Strip UTF-8 BOM (Byte Order Mark) from stylesheets before parsing / concatenating - [Bartłomiej Wójtowicz](https://github.com/qbart) (#128)
124
- * Enhancements:
125
- * Build against Ruby MRI 2.3.0 too.
126
- * Don't add extra whitespace between table cells.
126
+ - Deprecations:
127
+ - Dropped support for MRI 1.9.3.
128
+ - Dropped support for MRI 2.0.
129
+ - Upgrades:
130
+ - Use `css_parser` 1.4.x instead of 1.3.x.
131
+ - Bug fixes:
132
+ - Strip UTF-8 BOM (Byte Order Mark) from stylesheets before parsing / concatenating - [Bartłomiej Wójtowicz](https://github.com/qbart) (#128)
133
+ - Enhancements:
134
+ - Build against Ruby MRI 2.3.0 too.
135
+ - Don't add extra whitespace between table cells.
127
136
 
128
137
  ### 3.1.1
129
138
 
130
139
  [full changelog](https://github.com/Mange/roadie/compare/v3.1.0...v3.1.1)
131
140
 
132
- * Enhancements:
133
- * Duplicate style properties are now removed when inlining.
134
- * This means that `color: green; color: red; color: green` will now be `color: red; color: green`.
135
- * The size of your emails should be the same, or smaller.
141
+ - Enhancements:
142
+ - Duplicate style properties are now removed when inlining.
143
+ - This means that `color: green; color: red; color: green` will now be `color: red; color: green`.
144
+ - The size of your emails should be the same, or smaller.
136
145
 
137
146
  ### 3.1.0
138
147
 
139
148
  [full changelog](https://github.com/Mange/roadie/compare/v3.1.0.rc1...v3.1.0)
140
149
 
141
- * Enchancements:
142
- * `NetHttpProvider` validates the whitelist hostnames; passing an invalid hostname will raise `ArgumentError`.
143
- * `NetHttpProvider` supports scheme-less URLs (`//foo.com/`), defaulting to `https`.
150
+ - Enchancements:
151
+ - `NetHttpProvider` validates the whitelist hostnames; passing an invalid hostname will raise `ArgumentError`.
152
+ - `NetHttpProvider` supports scheme-less URLs (`//foo.com/`), defaulting to `https`.
144
153
 
145
154
  ### 3.1.0.rc1
146
155
 
147
156
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.5...v3.1.0.rc1)
148
157
 
149
- * Enhancements:
150
- * Allow user to specify asset providers for referenced assets with full URLs and inline them (#107)
151
- * Pass `Document` instance to transformation callbacks (#86)
152
- * Made `nokogiri` dependency more forgiving.
153
- * Supports `1.5.0`...`1.7.0` now instead of `1.6.0`...`1.7.0`. Some people out there are stuck on this older version of Nokogiri, and I don't want to leave them out.
154
- * Output better errors when no assets can be found.
155
- * The error will now show which providers were tried and in which order, along with the error message from the specific providers.
156
- * `Roadie::FilesystemProvider` shows the given path when inspected.
157
- * `data-roadie-ignore` attributes will now be removed from markup; hiding "development markers" in the final email.
158
- * Add a `Roadie::CachedProvider` asset provider that wraps other providers and cache them.
159
- * Add a `Roadie::PathRewriterProvider` asset provider that rewrites asset names for other providers.
160
- * This saves you from having to create custom providers if you require small tweaks to the lookup in order to use an official provider.
161
- * **Deprecations:**
162
- * `Roadie::Stylesheet#each_inlinable_block` is now deprecated. You can iterate and filter the `blocks` at your own discresion.
158
+ - Enhancements:
159
+ - Allow user to specify asset providers for referenced assets with full URLs and inline them (#107)
160
+ - Pass `Document` instance to transformation callbacks (#86)
161
+ - Made `nokogiri` dependency more forgiving.
162
+ - Supports `1.5.0`...`1.7.0` now instead of `1.6.0`...`1.7.0`. Some people out there are stuck on this older version of Nokogiri, and I don't want to leave them out.
163
+ - Output better errors when no assets can be found.
164
+ - The error will now show which providers were tried and in which order, along with the error message from the specific providers.
165
+ - `Roadie::FilesystemProvider` shows the given path when inspected.
166
+ - `data-roadie-ignore` attributes will now be removed from markup; hiding "development markers" in the final email.
167
+ - Add a `Roadie::CachedProvider` asset provider that wraps other providers and cache them.
168
+ - Add a `Roadie::PathRewriterProvider` asset provider that rewrites asset names for other providers.
169
+ - This saves you from having to create custom providers if you require small tweaks to the lookup in order to use an official provider.
170
+ - **Deprecations:**
171
+ - `Roadie::Stylesheet#each_inlinable_block` is now deprecated. You can iterate and filter the `blocks` at your own discresion.
163
172
 
164
173
  ### 3.0.5
165
174
 
166
175
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.4...v3.0.5)
167
176
 
168
- * Bug fixes:
169
- * Don't try to inline external stylesheets. (#106)
170
- * Don't generate absolute URLs for anchor links. (Mange/roadie-rails#40)
177
+ - Bug fixes:
178
+ - Don't try to inline external stylesheets. (#106)
179
+ - Don't generate absolute URLs for anchor links. (Mange/roadie-rails#40)
171
180
 
172
181
  ### 3.0.4
173
182
 
174
183
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.3...v3.0.4)
175
184
 
176
- * Bug fixes:
177
- * Schemeless URLs was accepted as-is, which isn't supported in a lot of email clients. (#104)
185
+ - Bug fixes:
186
+ - Schemeless URLs was accepted as-is, which isn't supported in a lot of email clients. (#104)
178
187
 
179
188
  ### 3.0.3
180
189
 
181
190
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.2...v3.0.3)
182
191
 
183
- * Bug fixes:
184
- * CSS was mutated when parsed, breaking caches and memoized sources - [Brendan Mulholland (bmulholland)](https://github.com/bmulholland) (Mange/roadie-rails#32)
192
+ - Bug fixes:
193
+ - CSS was mutated when parsed, breaking caches and memoized sources - [Brendan Mulholland (bmulholland)](https://github.com/bmulholland) (Mange/roadie-rails#32)
185
194
 
186
195
  ### 3.0.2
187
196
 
188
197
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.1...v3.0.2)
189
198
 
190
- * Bug fixes:
191
- * Some `data:` URLs could cause exceptions. (#97)
192
- * Correctly parse properties with semicolons in their values - [Aidan Feldman (afeld)](https://github.com/afeld) (#100)
199
+ - Bug fixes:
200
+ - Some `data:` URLs could cause exceptions. (#97)
201
+ - Correctly parse properties with semicolons in their values - [Aidan Feldman (afeld)](https://github.com/afeld) (#100)
193
202
 
194
203
  ### 3.0.1
195
204
 
196
205
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.0...v3.0.1)
197
206
 
198
- * Enhancements:
199
- * `CssNotFound` can take a provider which will be shown in error messages.
200
- * Bug fixes:
201
- * URL rewriter no longer raises on absolute URLs that cannot be parsed by `URI`. Absolute URLs are completely ignored.
202
- * URL rewriter supports urls without a scheme (like `//assets.myapp.com/foo`).
203
- * URL rewriter no longer crashes on absolute URLs without a path (like `myapp://`).
207
+ - Enhancements:
208
+ - `CssNotFound` can take a provider which will be shown in error messages.
209
+ - Bug fixes:
210
+ - URL rewriter no longer raises on absolute URLs that cannot be parsed by `URI`. Absolute URLs are completely ignored.
211
+ - URL rewriter supports urls without a scheme (like `//assets.myapp.com/foo`).
212
+ - URL rewriter no longer crashes on absolute URLs without a path (like `myapp://`).
204
213
 
205
214
  ### 3.0.0
206
215
 
207
216
  [full changelog](https://github.com/Mange/roadie/compare/v3.0.0.pre1...v3.0.0)
208
217
 
209
- * Enhancements:
210
- * `Roadie::ProviderList` responds to `#empty?` and `#last`
211
- * `Roadie::FilesystemProvider` ignores query string in filename.
218
+ - Enhancements:
219
+
220
+ - `Roadie::ProviderList` responds to `#empty?` and `#last`
221
+ - `Roadie::FilesystemProvider` ignores query string in filename.
222
+
223
+ Older versions of Rails generated `<link>` tags with query strings in their URLs, like such:
224
+ `/stylesheets/email.css?1380694096`
212
225
 
213
- Older versions of Rails generated `<link>` tags with query strings in their URLs, like such:
214
- `/stylesheets/email.css?1380694096`
215
- * Blacklist `:enabled`, `:disabled` and `:checked` pseudo functions - [Tyler Hunt (tylerhunt)](https://github.com/tylerhunt).
216
- * Add MRI 2.1.2 to Travis build matrix - [Grey Baker (greysteil)](https://github.com/greysteil).
217
- * Try to detect an upgrade from Roadie 2 and mention how to make it work with the new version.
218
- * Styles emitted in the `style` attribute should now be ordered as they were in the source CSS.
226
+ - Blacklist `:enabled`, `:disabled` and `:checked` pseudo functions - [Tyler Hunt (tylerhunt)](https://github.com/tylerhunt).
227
+ - Add MRI 2.1.2 to Travis build matrix - [Grey Baker (greysteil)](https://github.com/greysteil).
228
+ - Try to detect an upgrade from Roadie 2 and mention how to make it work with the new version.
229
+ - Styles emitted in the `style` attribute should now be ordered as they were in the source CSS.
219
230
 
220
231
  ### 3.0.0.pre1
221
232
 
@@ -223,188 +234,188 @@
223
234
 
224
235
  Complete rewrite of most of the code and a new direction for the gem.
225
236
 
226
- * Breaking changes:
227
- * Removed Rails support into a separate Gem (`roadie-rails`).
228
- * Removed Sprockets dependency and AssetPipelineProvider.
229
- * Changed the entire public API.
230
- * Changed the API of custom providers.
231
- * Dropped support for Ruby 1.8.7.
232
- * Change `data-immutable` to `data-roadie-ignore`.
233
- * New features:
234
- * Rewriting the URLs of `img[src]`.
235
- * A way to inject stylesheets without having to adjust template.
236
- * A before callback to compliment the after callback.
237
- * Enhancements:
238
- * Better support for stylesheets using CSS fallbacks.
237
+ - Breaking changes:
238
+ - Removed Rails support into a separate Gem (`roadie-rails`).
239
+ - Removed Sprockets dependency and AssetPipelineProvider.
240
+ - Changed the entire public API.
241
+ - Changed the API of custom providers.
242
+ - Dropped support for Ruby 1.8.7.
243
+ - Change `data-immutable` to `data-roadie-ignore`.
244
+ - New features:
245
+ - Rewriting the URLs of `img[src]`.
246
+ - A way to inject stylesheets without having to adjust template.
247
+ - A before callback to compliment the after callback.
248
+ - Enhancements:
249
+ - Better support for stylesheets using CSS fallbacks.
239
250
  This means that styles like this is now inlined: `width: 5em; width: 3rem;`, while Roadie would previously remove the first of the two.
240
251
  This sadly means that the HTML file will be much larger than before if you're using a non-optimized stylesheet (for example including your application stylesheet to the email). This was a bad idea even before this change, and this might get you to change.
241
- * Using HTML5 doctype instead of XHTML
242
- * Full support for JRuby
243
- * Experimental support for Rubinius
252
+ - Using HTML5 doctype instead of XHTML
253
+ - Full support for JRuby
254
+ - Experimental support for Rubinius
244
255
 
245
256
  ### 2.4.2
246
257
 
247
258
  [full changelog](https://github.com/Mange/roadie/compare/v2.4.1...v2.4.2)
248
259
 
249
- * Bug fixes:
250
- * Fix Nokogiri version to allow only 1.5.x on ruby 1.8.7
251
- * Blacklist :before, :after, :-ms-input-placeholder, :-moz-placeholder selectors – [Brian Bauer (bbauer)][https://github.com/bbauer].
252
- * Build failed on 1.8.7 due to a change in `css_parser`
260
+ - Bug fixes:
261
+ - Fix Nokogiri version to allow only 1.5.x on ruby 1.8.7
262
+ - Blacklist :before, :after, :-ms-input-placeholder, :-moz-placeholder selectors – [Brian Bauer (bbauer)][https://github.com/bbauer].
263
+ - Build failed on 1.8.7 due to a change in `css_parser`
253
264
 
254
265
  ### 2.4.1
255
266
 
256
267
  [full changelog](https://github.com/Mange/roadie/compare/v2.4.0...v2.4.1)
257
268
 
258
- * Bug fixes:
259
- * Allow Nokogiri 1.5.x again; 1.6.x is unsupported in Ruby 1.8.7.
269
+ - Bug fixes:
270
+ - Allow Nokogiri 1.5.x again; 1.6.x is unsupported in Ruby 1.8.7.
260
271
 
261
272
  ### 2.4.0
262
273
 
263
274
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.4...v2.4.0)
264
275
 
265
- * Enhancements:
266
- * Support Rails 4.0, with the help of:
267
- * [Ryunosuke SATO (tricknotes)](https://github.com/tricknotes)
268
- * [Dylan Markow](https://github.com/dmarkow)
269
- * Keep `!important` when outputting styles to help combat web mail styles being `!important`
270
- * Support `:nth-child`, `:last-child`, etc.
271
- * To make this work, Roadie have to catch errors from Nokogiri and ignore them. A warning will be printed when this happens so users can open issues with the project and tests can be expanded.
272
- * Support for custom inliner (#58) — [Harish Shetty (kandadaboggu)](https://github.com/kandadaboggu) with friends
273
- * Bug fixes:
274
- * Don't crash when URL options have protocols with "://" in them (#52).
275
- * Other:
276
- * Be more specific on which versions are required; require newer `css_parser`
277
- * Officially support MRI 2.0.0
278
- * Add experimental support for JRuby
279
- * Remove documentation that talks about passing CSS filenames as symbols; unsupported in Rails 4. (Thanks to [PikachuEXE](https://github.com/PikachuEXE))
276
+ - Enhancements:
277
+ - Support Rails 4.0, with the help of:
278
+ - [Ryunosuke SATO (tricknotes)](https://github.com/tricknotes)
279
+ - [Dylan Markow](https://github.com/dmarkow)
280
+ - Keep `!important` when outputting styles to help combat web mail styles being `!important`
281
+ - Support `:nth-child`, `:last-child`, etc.
282
+ - To make this work, Roadie have to catch errors from Nokogiri and ignore them. A warning will be printed when this happens so users can open issues with the project and tests can be expanded.
283
+ - Support for custom inliner (#58) — [Harish Shetty (kandadaboggu)](https://github.com/kandadaboggu) with friends
284
+ - Bug fixes:
285
+ - Don't crash when URL options have protocols with "://" in them (#52).
286
+ - Other:
287
+ - Be more specific on which versions are required; require newer `css_parser`
288
+ - Officially support MRI 2.0.0
289
+ - Add experimental support for JRuby
290
+ - Remove documentation that talks about passing CSS filenames as symbols; unsupported in Rails 4. (Thanks to [PikachuEXE](https://github.com/PikachuEXE))
280
291
 
281
292
  ### 2.3.4
282
293
 
283
294
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.3...v2.3.4)
284
295
 
285
- * Enhancements:
286
- * Add `config.roadie.enabled` that can be set to `false` to disable Roadie completely.
287
- * Bug fixes:
288
- * Proc objects to the `:css` option is now run in the context of the mailer instance, mirroring similar options from ActionMailer.
289
- * Fix some tests that would always pass
290
- * Improve JRuby compatibility
291
- * Update Gemfile.lock and fix issues with newer gem versions
296
+ - Enhancements:
297
+ - Add `config.roadie.enabled` that can be set to `false` to disable Roadie completely.
298
+ - Bug fixes:
299
+ - Proc objects to the `:css` option is now run in the context of the mailer instance, mirroring similar options from ActionMailer.
300
+ - Fix some tests that would always pass
301
+ - Improve JRuby compatibility
302
+ - Update Gemfile.lock and fix issues with newer gem versions
292
303
 
293
304
  ### 2.3.3
294
305
 
295
306
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.2...v2.3.3)
296
307
 
297
- * Enhancements:
298
- * Allow proc objects to the `:css` option
299
- * Bug fixes:
300
- * Ignore HTML comments and CDATA sections in CSS (support TinyMCE)
308
+ - Enhancements:
309
+ - Allow proc objects to the `:css` option
310
+ - Bug fixes:
311
+ - Ignore HTML comments and CDATA sections in CSS (support TinyMCE)
301
312
 
302
313
  ### 2.3.2
303
314
 
304
315
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.1...v2.3.2)
305
316
 
306
- * Bug fixes:
307
- * Don't fail on selectors which start with @ (#28) — [Roman Shterenzon (romanbsd)](https://github.com/romanbsd)
317
+ - Bug fixes:
318
+ - Don't fail on selectors which start with @ (#28) — [Roman Shterenzon (romanbsd)](https://github.com/romanbsd)
308
319
 
309
320
  ### 2.3.1
310
321
 
311
322
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.0...v2.3.1)
312
323
 
313
- * Bug fixes:
314
- * Does not work with Rails 3.0 unless provider set specifically (#23)
324
+ - Bug fixes:
325
+ - Does not work with Rails 3.0 unless provider set specifically (#23)
315
326
 
316
327
  ### 2.3.0
317
328
 
318
329
  [full changelog](https://github.com/Mange/roadie/compare/v2.3.0.pre1...v2.3.0)
319
330
 
320
- * Nothing, really
331
+ - Nothing, really
321
332
 
322
333
  ### 2.3.0.pre1
323
334
 
324
335
  [full changelog](https://github.com/Mange/roadie/compare/v2.2.0...v2.3.0.pre1)
325
336
 
326
- * Enhancements:
327
- * Support Rails 3.2.pre1 - [Morton Jonuschat (yabawock)](https://github.com/yabawock)
328
- * Sped up the Travis builds
329
- * Official support for Rails 3.0 again
330
- * Dependencies allow 3.0
331
- * Travis builds 3.0 among the others
337
+ - Enhancements:
338
+ - Support Rails 3.2.pre1 - [Morton Jonuschat (yabawock)](https://github.com/yabawock)
339
+ - Sped up the Travis builds
340
+ - Official support for Rails 3.0 again
341
+ - Dependencies allow 3.0
342
+ - Travis builds 3.0 among the others
332
343
 
333
344
  ### 2.2.0
334
345
 
335
346
  [full changelog](https://github.com/Mange/roadie/compare/v2.1.0...v2.2.0)
336
347
 
337
- * Enhancements:
338
- * Support for the `url_options` method inside mailer instances
339
- * You can now dynamically alter the URL options on a per-email basis
348
+ - Enhancements:
349
+ - Support for the `url_options` method inside mailer instances
350
+ - You can now dynamically alter the URL options on a per-email basis
340
351
 
341
352
  ### 2.1.0
342
353
 
343
354
  [full changelog](https://github.com/Mange/roadie/compare/v2.1.0.pre2...v2.1.0)
344
355
 
345
- * Full release!
356
+ - Full release!
346
357
 
347
358
  ### 2.1.0.pre2
348
359
 
349
360
  [full changelog](https://github.com/Mange/roadie/compare/v2.1.0.pre1...v2.1.0.pre2)
350
361
 
351
- * Bug: Roadie broke `url_for` inside mailer views
362
+ - Bug: Roadie broke `url_for` inside mailer views
352
363
 
353
364
  ### 2.1.0.pre1
354
365
 
355
366
  [full changelog](https://github.com/Mange/roadie/compare/v2.0.0...v2.1.0.pre1)
356
367
 
357
- * Enhancements:
358
- * Support normal filesystem instead of only Asset pipeline
359
- * Enable users to create their own way of fetching CSS
360
- * Improve test coverage a bit
361
- * Use a railtie to hook into Rails
362
- * Use real Rails for testing integration
368
+ - Enhancements:
369
+ - Support normal filesystem instead of only Asset pipeline
370
+ - Enable users to create their own way of fetching CSS
371
+ - Improve test coverage a bit
372
+ - Use a railtie to hook into Rails
373
+ - Use real Rails for testing integration
363
374
 
364
375
  ### 2.0.0
365
376
 
366
377
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.3...v2.0.0)
367
378
 
368
- * Enhancements:
369
- * Support the Asset pipeline - [Arttu Tervo (arttu)](https://github.com/arttu)
370
- * Dependencies:
371
- * Requires Rails 3.1 to work. You can keep on using the 1.x series in Rails 3.0
379
+ - Enhancements:
380
+ - Support the Asset pipeline - [Arttu Tervo (arttu)](https://github.com/arttu)
381
+ - Dependencies:
382
+ - Requires Rails 3.1 to work. You can keep on using the 1.x series in Rails 3.0
372
383
 
373
384
  ### 1.1.3
374
385
 
375
386
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.2...v1.1.3)
376
387
 
377
- * Do not add another ".css" to filenames if already present - [Aliaxandr (saks)](https://github.com/saks)
388
+ - Do not add another ".css" to filenames if already present - [Aliaxandr (saks)](https://github.com/saks)
378
389
 
379
390
  ### 1.1.2
380
391
 
381
392
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.1...v1.1.2)
382
393
 
383
- * Support for Rails 3.1.0 and later inside gemspec
394
+ - Support for Rails 3.1.0 and later inside gemspec
384
395
 
385
396
  ### 1.1.1
386
397
 
387
398
  [full changelog](https://github.com/Mange/roadie/compare/v1.1.0...v1.1.1)
388
399
 
389
- * Support for Rails 3.1.x (up to and including RC4)
390
- * Rails 3.0.x is still supported
391
- * Added CI via [Travis CI](http://travis-ci.org)
400
+ - Support for Rails 3.1.x (up to and including RC4)
401
+ - Rails 3.0.x is still supported
402
+ - Added CI via [Travis CI](http://travis-ci.org)
392
403
 
393
404
  ### 1.1.0
394
405
 
395
406
  [full changelog](https://github.com/Mange/roadie/compare/v1.0.1...v1.1.0)
396
407
 
397
- * Enhancements:
398
- * Support for inlining `<link>` elements (thanks to [aliix](https://github.com/aliix))
408
+ - Enhancements:
409
+ - Support for inlining `<link>` elements (thanks to [aliix](https://github.com/aliix))
399
410
 
400
411
  ### 1.0.1
401
412
 
402
413
  [full changelog](https://github.com/Mange/roadie/compare/v1.0.0...v1.0.1)
403
414
 
404
- * Enhancements:
405
- * Full, official support for Ruby 1.9.2 (in addition to 1.8.7)
406
- * Dependencies:
407
- * Explicilty depend on nokogiri >= 1.4.4
415
+ - Enhancements:
416
+ - Full, official support for Ruby 1.9.2 (in addition to 1.8.7)
417
+ - Dependencies:
418
+ - Explicilty depend on nokogiri >= 1.4.4
408
419
 
409
420
  ### 1.0.0
410
421
 
@@ -412,11 +423,11 @@ Complete rewrite of most of the code and a new direction for the gem.
412
423
 
413
424
  Roadie fork!
414
425
 
415
- * Enhancements:
416
- * Support for Rails 3.0
417
- * Code cleanup
418
- * Support `!important`
419
- * Tests
420
- * + some other enhancements
421
- * Deprecations:
422
- * Removed support for Rails 2.x
426
+ - Enhancements:
427
+ - Support for Rails 3.0
428
+ - Code cleanup
429
+ - Support `!important`
430
+ - Tests
431
+ - - some other enhancements
432
+ - Deprecations:
433
+ - Removed support for Rails 2.x
data/lib/roadie/errors.rb CHANGED
@@ -23,7 +23,9 @@ module Roadie
23
23
  else
24
24
  ""
25
25
  end
26
- super "Cannot use path \"#{given_path}\" in URL generation.#{cause_message}"
26
+ super(
27
+ "Cannot use path \"#{given_path}\" in URL generation.#{cause_message}"
28
+ )
27
29
  end
28
30
  end
29
31
 
@@ -47,7 +49,7 @@ module Roadie
47
49
  @css_name = css_name
48
50
  @provider = provider
49
51
  @extra_message = message
50
- super build_message
52
+ super(build_message)
51
53
  end
52
54
 
53
55
  protected
@@ -71,6 +71,7 @@ module Roadie
71
71
  :before :after
72
72
  :enabled :disabled :checked
73
73
  :host
74
+ :root
74
75
  ].freeze
75
76
 
76
77
  def pseudo_element?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Roadie
4
- VERSION = "5.2.0"
4
+ VERSION = "5.2.1"
5
5
  end
data/roadie.gemspec CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_development_dependency "rspec", "~> 3.0"
25
25
  s.add_development_dependency "rspec-collection_matchers", "~> 1.0"
26
26
  s.add_development_dependency "webmock", "~> 3.0"
27
+ s.add_development_dependency "standardrb"
27
28
 
28
29
  s.extra_rdoc_files = %w[README.md Changelog.md]
29
30
  s.require_paths = %w[lib]
@@ -67,6 +67,29 @@ describe "Roadie functionality" do
67
67
  expect(styles).to include Roadie::Stylesheet.new("", css).to_s
68
68
  end
69
69
 
70
+ it "does not strip :root pseudo-class" do
71
+ document = Roadie::Document.new <<-HTML
72
+ <html>
73
+ <head>
74
+ <title>Hello world!</title>
75
+ </head>
76
+ <body>
77
+ <h1>Hello world!</h1>
78
+ </body>
79
+ </html>
80
+ HTML
81
+ css = <<-CSS
82
+ :root { --color: red; }
83
+ CSS
84
+ document.add_css css
85
+
86
+ result = parse_html document.transform
87
+ expect(result).to have_selector("html > head > style")
88
+
89
+ styles = result.at_css("html > head > style").text
90
+ expect(styles).to include Roadie::Stylesheet.new("", css).to_s
91
+ end
92
+
70
93
  it "can be configured to skip styles that cannot be inlined" do
71
94
  document = Roadie::Document.new <<-HTML
72
95
  <html>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadie
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Magnus Bergmark
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: standardrb
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Roadie tries to make sending HTML emails a little less painful by inlining
98
112
  stylesheets and rewriting relative URLs for you.
99
113
  email:
@@ -197,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
211
  - !ruby/object:Gem::Version
198
212
  version: '0'
199
213
  requirements: []
200
- rubygems_version: 3.4.17
214
+ rubygems_version: 3.5.5
201
215
  signing_key:
202
216
  specification_version: 4
203
217
  summary: Making HTML emails comfortable for the Ruby rockstars