css_parser 1.16.0 → 1.17.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 +4 -4
- data/lib/css_parser/parser.rb +9 -7
- data/lib/css_parser/version.rb +1 -1
- data/lib/css_parser.rb +3 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47d696725a77d514c0a1ca529dc18e39d41bdd4106a786f21219f14c2ccf43f5
|
4
|
+
data.tar.gz: eb6a39b541cfa6bd8c4d66fc4e0adb06310922794b47e582989aba6dd8f5729b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db5d0a6cf245796841621194c360c31f5f349596fa00a755152bd109a50707ff5dc301a47601fb09400fa00479e2319a9321f3657c9eb0d5a11b4db7c5d8b048
|
7
|
+
data.tar.gz: 7dd50eff88bc656f81928098d736fb7c657ebe6ced0328523cee6e3e778f5b2e7d285311436be6ffd210f8b122467f99dfad739828d43530db41e60a74694b25
|
data/lib/css_parser/parser.rb
CHANGED
@@ -17,7 +17,6 @@ module CssParser
|
|
17
17
|
# [<tt>io_exceptions</tt>] Throw an exception if a link can not be found. Boolean, default is <tt>true</tt>.
|
18
18
|
class Parser
|
19
19
|
USER_AGENT = "Ruby CSS Parser/#{CssParser::VERSION} (https://github.com/premailer/css_parser)"
|
20
|
-
|
21
20
|
STRIP_CSS_COMMENTS_RX = %r{/\*.*?\*/}m.freeze
|
22
21
|
STRIP_HTML_COMMENTS_RX = /<!--|-->/m.freeze
|
23
22
|
|
@@ -36,11 +35,14 @@ module CssParser
|
|
36
35
|
class << self; attr_reader :folded_declaration_cache; end
|
37
36
|
|
38
37
|
def initialize(options = {})
|
39
|
-
@options = {
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
38
|
+
@options = {
|
39
|
+
absolute_paths: false,
|
40
|
+
import: true,
|
41
|
+
io_exceptions: true,
|
42
|
+
rule_set_exceptions: true,
|
43
|
+
capture_offsets: false,
|
44
|
+
user_agent: USER_AGENT
|
45
|
+
}.merge(options)
|
44
46
|
|
45
47
|
# array of RuleSets
|
46
48
|
@rules = []
|
@@ -597,7 +599,7 @@ module CssParser
|
|
597
599
|
http = Net::HTTP.new(uri.host, uri.port)
|
598
600
|
end
|
599
601
|
|
600
|
-
res = http.get(uri.request_uri, {'User-Agent' =>
|
602
|
+
res = http.get(uri.request_uri, {'User-Agent' => @options[:user_agent], 'Accept-Encoding' => 'gzip'})
|
601
603
|
src = res.body
|
602
604
|
charset = res.respond_to?(:charset) ? res.encoding : 'utf-8'
|
603
605
|
|
data/lib/css_parser/version.rb
CHANGED
data/lib/css_parser.rb
CHANGED
@@ -75,13 +75,13 @@ module CssParser
|
|
75
75
|
|
76
76
|
rule_set.each_declaration do |property, value, is_important|
|
77
77
|
# Add the property to the list to be folded per http://www.w3.org/TR/CSS21/cascade.html#cascading-order
|
78
|
-
if
|
78
|
+
if !properties.key?(property)
|
79
79
|
properties[property] = {value: value, specificity: specificity, is_important: is_important}
|
80
80
|
elsif is_important
|
81
|
-
if
|
81
|
+
if !properties[property][:is_important] || properties[property][:specificity] <= specificity
|
82
82
|
properties[property] = {value: value, specificity: specificity, is_important: is_important}
|
83
83
|
end
|
84
|
-
elsif properties[property][:specificity] < specificity
|
84
|
+
elsif properties[property][:specificity] < specificity || properties[property][:specificity] == specificity
|
85
85
|
unless properties[property][:is_important]
|
86
86
|
properties[property] = {value: value, specificity: specificity, is_important: is_important}
|
87
87
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: css_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Dunae
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -155,7 +155,7 @@ metadata:
|
|
155
155
|
changelog_uri: https://github.com/premailer/css_parser/blob/master/CHANGELOG.md
|
156
156
|
source_code_uri: https://github.com/premailer/css_parser
|
157
157
|
bug_tracker_uri: https://github.com/premailer/css_parser/issues
|
158
|
-
post_install_message:
|
158
|
+
post_install_message:
|
159
159
|
rdoc_options: []
|
160
160
|
require_paths:
|
161
161
|
- lib
|
@@ -171,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
171
|
version: '0'
|
172
172
|
requirements: []
|
173
173
|
rubygems_version: 3.1.6
|
174
|
-
signing_key:
|
174
|
+
signing_key:
|
175
175
|
specification_version: 4
|
176
176
|
summary: Ruby CSS parser.
|
177
177
|
test_files: []
|