premailer 1.17.0 → 1.19.0

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: baac2fb34027342c72b3c9473f2afd01c42cc89c163a0062497acb951671649a
4
- data.tar.gz: e6bcd9beb173528883ab58ba545ae34abd50aaefeea560907a92992a8832c2be
3
+ metadata.gz: 6e81cf33d2027d02e79ecb94b7a535a54b45d0f62170195baecc51e150fdc4e8
4
+ data.tar.gz: ef4b18d2837a8a80565da581d4ad075115c2457ff2087cff1757c099d4a5724d
5
5
  SHA512:
6
- metadata.gz: f1a5bab6f6bf4010fab0bdd5fb70dba2960598291a0537d522e80e8a05a98a5f4d79a77971b27fcd699acef379ce62e4ac87dd827720e16b6981d17d44da726c
7
- data.tar.gz: '078e582d512367bcaa41458985eeb8cee1232101819d225c8b04bf9e143ed60426920ddbd42ad1e6df962f0699ec37b9bd7c56fa3c2dcf10fe05983c548b1719'
6
+ metadata.gz: 15a9659bb308546d7617c8bb09d79cf9d140e0773111309f078958f4b27c7964b331c78787bda3abb221d2b0561de0ba31a2eb007c853bd41d14f8ca1f4791a5
7
+ data.tar.gz: dc8ac1a09294cdbfa440445f5a6558d5d33d20ead9aa5026c4c83fec487d46aa1cab339abd8c8a15ac51871615a6e4ddcec505b5ddf7ba0436bfdff3cfbb5491
@@ -63,8 +63,12 @@ class Premailer
63
63
 
64
64
  declarations = []
65
65
  style.scan(/\[SPEC\=([\d]+)\[(.[^\]\]]*)\]\]/).each do |declaration|
66
- rs = CssParser::RuleSet.new(nil, declaration[1].to_s, declaration[0].to_i)
67
- declarations << rs
66
+ begin
67
+ rs = CssParser::RuleSet.new(nil, declaration[1].to_s, declaration[0].to_i)
68
+ declarations << rs
69
+ rescue ArgumentError => e
70
+ raise e if @options[:rule_set_exceptions]
71
+ end
68
72
  end
69
73
 
70
74
  # Perform style folding
@@ -233,14 +237,7 @@ class Premailer
233
237
  thing.gsub! entity, replacement
234
238
  end
235
239
  end
236
- # Default encoding is ASCII-8BIT (binary) per http://groups.google.com/group/nokogiri-talk/msg/0b81ef0dc180dc74
237
- # However, we really don't want to hardcode this. ASCII-8BIT should be the default, but not the only option.
238
- encoding = if thing.is_a?(String) and RUBY_VERSION =~ /1.9/
239
- thing = thing.force_encoding(@options[:input_encoding]).encode!
240
- @options[:input_encoding]
241
- else
242
- @options[:input_encoding] || (RUBY_PLATFORM == 'java' ? nil : 'BINARY')
243
- end
240
+ encoding = @options[:input_encoding] || (RUBY_PLATFORM == 'java' ? nil : 'BINARY')
244
241
  doc = if @options[:html_fragment]
245
242
  ::Nokogiri::HTML.fragment(thing, encoding)
246
243
  else
@@ -237,14 +237,7 @@ class Premailer
237
237
  thing.gsub! entity, replacement
238
238
  end
239
239
  end
240
- # Default encoding is ASCII-8BIT (binary) per http://groups.google.com/group/nokogiri-talk/msg/0b81ef0dc180dc74
241
- # However, we really don't want to hardcode this. ASCII-8BIT should be the default, but not the only option.
242
- encoding = if thing.is_a?(String) and RUBY_VERSION =~ /1.9/
243
- thing = thing.force_encoding(@options[:input_encoding]).encode!
244
- @options[:input_encoding]
245
- else
246
- @options[:input_encoding] || (RUBY_PLATFORM == 'java' ? nil : 'BINARY')
247
- end
240
+ encoding = @options[:input_encoding] || (RUBY_PLATFORM == 'java' ? nil : 'BINARY')
248
241
  doc = if @options[:html_fragment]
249
242
  ::Nokogiri::HTML.fragment(thing, encoding)
250
243
  else
@@ -231,11 +231,6 @@ class Premailer
231
231
  thing.gsub! entity, replacement
232
232
  end
233
233
  end
234
- # Default encoding is ASCII-8BIT (binary) per http://groups.google.com/group/nokogiri-talk/msg/0b81ef0dc180dc74
235
- # However, we really don't want to hardcode this. ASCII-8BIT should be the default, but not the only option.
236
- if thing.is_a?(String) and RUBY_VERSION =~ /1.9/
237
- thing = thing.force_encoding(@options[:input_encoding]).encode!
238
- end
239
234
  doc = if @options[:html_fragment]
240
235
  ::Nokogiri::HTML5.fragment(thing)
241
236
  else
@@ -507,7 +507,8 @@ public
507
507
 
508
508
  # Check <tt>CLIENT_SUPPORT_FILE</tt> for any CSS warnings
509
509
  def check_client_support # :nodoc:
510
- @client_support ||= YAML::load(File.open(CLIENT_SUPPORT_FILE))
510
+ kwargs = Psych::VERSION >= '4' ? { aliases: true } : {}
511
+ @client_support ||= Psych.load(File.open(CLIENT_SUPPORT_FILE), **kwargs)
511
512
 
512
513
  warnings = []
513
514
  properties = []
@@ -1,4 +1,4 @@
1
1
  class Premailer
2
2
  # Premailer version.
3
- VERSION = '1.17.0'.freeze
3
+ VERSION = '1.19.0'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: premailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Dunae
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-17 00:00:00.000000000 Z
11
+ date: 2023-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: css_parser