css_parser 1.22.0 → 2.2.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: b67e47f563af5ce2fe5e26371810a6b546032c691289071c092ffc8c52ee2aa7
4
- data.tar.gz: 40bc138ff5e63f022fddba80b08c847542508c1d925658917df756d8bd2135de
3
+ metadata.gz: ed16a56359267ef6ea44fe0e45a76611e1f8365f65e9437c4c556fd4dfaa983f
4
+ data.tar.gz: 51136b897f4f511bd1d285138e366e8d66e090d7a8b5811afd34178e804bfd35
5
5
  SHA512:
6
- metadata.gz: 50447464b22d0af5c72c097bb3e37e05e6d0ace513e9d9cd6751b057f505c76130aecb98ce4f02b101b9424c6379c809c6fd94a5dda39a35d825e6e4961f3d13
7
- data.tar.gz: d92c7583e8063a4ceebdd18ba7ab24f7ebb151c1ea0a4bd745767c5f2fe51dc0ee9981bdbbc997c53fb8a0ddde7ca335a3fb4b27de81d993b317fe347523cb27
6
+ metadata.gz: 51fd7d3070a36f6a8d048f4eefcc6e5e3a85bef1f14dd14d751242bb35de0b2efb1a6278641980183e2a27e5c33ad84b9b39ed04e768f7439a76a015572f393c
7
+ data.tar.gz: f3116a5e15595a2c869507d43eb8c744eb19d26c850991d9eeeb4ff190956191c2136c5add0408402177fa865cf18903fc917dd43c6932ce32ed5cb8843aa992
@@ -31,12 +31,6 @@ module CssParser
31
31
  # Array of CSS files that have been loaded.
32
32
  attr_reader :loaded_uris
33
33
 
34
- #--
35
- # Class variable? see http://www.oreillynet.com/ruby/blog/2007/01/nubygems_dont_use_class_variab_1.html
36
- #++
37
- @folded_declaration_cache = {}
38
- class << self; attr_reader :folded_declaration_cache; end
39
-
40
34
  def initialize(options = {})
41
35
  @options = {
42
36
  absolute_paths: false,
@@ -143,7 +137,7 @@ module CssParser
143
137
  media_types = [:all]
144
138
  end
145
139
 
146
- next unless options[:only_media_types].include?(:all) or media_types.empty? or !(media_types & options[:only_media_types]).empty?
140
+ next unless options[:only_media_types].include?(:all) or media_types.empty? or media_types.intersect?(options[:only_media_types])
147
141
 
148
142
  import_path = import_rule[0].to_s.gsub(/['"]*/, '').strip
149
143
 
@@ -568,7 +562,8 @@ module CssParser
568
562
  #
569
563
  # Raises a CircularReferenceError exception if io_exceptions are on,
570
564
  # otherwise returns true/false.
571
- def circular_reference_check(path)
565
+ # TODO: fix rubocop
566
+ def circular_reference_check(path) # rubocop:disable Naming/PredicateMethod
572
567
  path = path.to_s
573
568
  if @loaded_uris.include?(path)
574
569
  raise CircularReferenceError, "can't load #{path} more than once" if @options[:io_exceptions]
@@ -259,8 +259,10 @@ module CssParser
259
259
  inherit
260
260
  currentColor
261
261
  ].freeze
262
- RE_COLOUR_NUMERIC = /\b(hsl|rgb)\s*\(-?\s*-?\d+(\.\d+)?%?\s*%?,-?\s*-?\d+(\.\d+)?%?\s*%?,-?\s*-?\d+(\.\d+)?%?\s*%?\)/i.freeze
263
- RE_COLOUR_NUMERIC_ALPHA = /\b(hsla|rgba)\s*\(-?\s*-?\d+(\.\d+)?%?\s*%?,-?\s*-?\d+(\.\d+)?%?\s*%?,-?\s*-?\d+(\.\d+)?%?\s*%?,-?\s*-?\d+(\.\d+)?%?\s*%?\)/i.freeze
262
+ # CSS <number> allows the integer part to be omitted (e.g. `.1`), per CSS Values & Units.
263
+ # `(?:\d*\.)?\d+` accepts `1`, `1.5`, and `.5` while still rejecting bare `1.`.
264
+ RE_COLOUR_NUMERIC = /\b(hsl|rgb)\s*\(-?\s*-?(?:\d*\.)?\d+%?\s*%?,-?\s*-?(?:\d*\.)?\d+%?\s*%?,-?\s*-?(?:\d*\.)?\d+%?\s*%?\)/i.freeze
265
+ RE_COLOUR_NUMERIC_ALPHA = /\b(hsla|rgba)\s*\(-?\s*-?(?:\d*\.)?\d+%?\s*%?,-?\s*-?(?:\d*\.)?\d+%?\s*%?,-?\s*-?(?:\d*\.)?\d+%?\s*%?,-?\s*-?(?:\d*\.)?\d+%?\s*%?\)/i.freeze
264
266
  RE_COLOUR_HEX = /\s*#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})\b/.freeze
265
267
  RE_COLOUR_NAMED = /\s*\b(#{NAMED_COLOURS.join('|')})\b/i.freeze
266
268
  RE_COLOUR = Regexp.union(RE_COLOUR_NUMERIC, RE_COLOUR_NUMERIC_ALPHA, RE_COLOUR_HEX, RE_COLOUR_NAMED)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CssParser
4
- VERSION = '1.22.0'.freeze
4
+ VERSION = '2.2.0'.freeze
5
5
  end
data/lib/css_parser.rb CHANGED
@@ -52,8 +52,6 @@ module CssParser
52
52
  # TODO: declaration_hashes should be able to contain a RuleSet
53
53
  # this should be a Class method
54
54
  def self.merge(*rule_sets)
55
- @folded_declaration_cache = {}
56
-
57
55
  # in case called like CssParser.merge([rule_set, rule_set])
58
56
  rule_sets.flatten! if rule_sets[0].is_a?(Array)
59
57
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: css_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.22.0
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Dunae
@@ -50,7 +50,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '3.0'
53
+ version: '3.3'
54
54
  required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  requirements:
56
56
  - - ">="