nokogiri 1.10.10-x64-mingw32 → 1.11.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/LICENSE-DEPENDENCIES.md +1015 -947
  4. data/README.md +165 -91
  5. data/ext/nokogiri/depend +476 -357
  6. data/ext/nokogiri/extconf.rb +507 -357
  7. data/ext/nokogiri/html_document.c +79 -78
  8. data/ext/nokogiri/html_sax_parser_context.c +2 -2
  9. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  10. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  11. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  12. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
  13. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  14. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  15. data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
  16. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
  17. data/ext/nokogiri/include/libxml2/libxml/c14n.h +126 -0
  18. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  19. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  20. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  21. data/ext/nokogiri/include/libxml2/libxml/dict.h +79 -0
  22. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  23. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  24. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
  25. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  26. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  27. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
  28. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  29. data/ext/nokogiri/include/libxml2/libxml/parser.h +1241 -0
  30. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  31. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  32. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
  33. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  34. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  35. data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
  36. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  37. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  38. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
  39. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  40. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  41. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +366 -0
  42. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  43. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +945 -0
  44. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +153 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xpath.h +566 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
  59. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  60. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  61. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  62. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  63. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  64. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  65. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  66. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  67. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  68. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  69. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  70. data/ext/nokogiri/include/libxslt/security.h +104 -0
  71. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  72. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  73. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  74. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  75. data/ext/nokogiri/include/libxslt/xsltInternals.h +1978 -0
  76. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  77. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  78. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  79. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  80. data/ext/nokogiri/nokogiri.c +34 -40
  81. data/ext/nokogiri/nokogiri.h +26 -17
  82. data/ext/nokogiri/xml_document.c +18 -4
  83. data/ext/nokogiri/xml_io.c +8 -6
  84. data/ext/nokogiri/xml_node.c +21 -1
  85. data/ext/nokogiri/xml_node_set.c +1 -1
  86. data/ext/nokogiri/xml_reader.c +6 -17
  87. data/ext/nokogiri/xml_relax_ng.c +29 -11
  88. data/ext/nokogiri/xml_sax_parser.c +2 -7
  89. data/ext/nokogiri/xml_sax_parser_context.c +2 -2
  90. data/ext/nokogiri/xml_schema.c +55 -13
  91. data/ext/nokogiri/xml_xpath_context.c +80 -4
  92. data/ext/nokogiri/xslt_stylesheet.c +1 -8
  93. data/lib/nokogiri.rb +22 -22
  94. data/lib/nokogiri/2.5/nokogiri.so +0 -0
  95. data/lib/nokogiri/2.6/nokogiri.so +0 -0
  96. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  97. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  98. data/lib/nokogiri/css.rb +1 -0
  99. data/lib/nokogiri/css/node.rb +1 -0
  100. data/lib/nokogiri/css/parser.rb +63 -62
  101. data/lib/nokogiri/css/parser.y +2 -2
  102. data/lib/nokogiri/css/parser_extras.rb +39 -36
  103. data/lib/nokogiri/css/syntax_error.rb +1 -0
  104. data/lib/nokogiri/css/tokenizer.rb +1 -0
  105. data/lib/nokogiri/css/xpath_visitor.rb +73 -43
  106. data/lib/nokogiri/decorators/slop.rb +1 -0
  107. data/lib/nokogiri/html.rb +1 -0
  108. data/lib/nokogiri/html/builder.rb +1 -0
  109. data/lib/nokogiri/html/document.rb +13 -26
  110. data/lib/nokogiri/html/document_fragment.rb +1 -0
  111. data/lib/nokogiri/html/element_description.rb +1 -0
  112. data/lib/nokogiri/html/element_description_defaults.rb +1 -0
  113. data/lib/nokogiri/html/entity_lookup.rb +1 -0
  114. data/lib/nokogiri/html/sax/parser.rb +1 -0
  115. data/lib/nokogiri/html/sax/parser_context.rb +1 -0
  116. data/lib/nokogiri/html/sax/push_parser.rb +1 -0
  117. data/lib/nokogiri/jruby/dependencies.rb +20 -0
  118. data/lib/nokogiri/syntax_error.rb +1 -0
  119. data/lib/nokogiri/version.rb +3 -109
  120. data/lib/nokogiri/version/constant.rb +5 -0
  121. data/lib/nokogiri/version/info.rb +182 -0
  122. data/lib/nokogiri/xml.rb +1 -0
  123. data/lib/nokogiri/xml/attr.rb +1 -0
  124. data/lib/nokogiri/xml/attribute_decl.rb +1 -0
  125. data/lib/nokogiri/xml/builder.rb +3 -2
  126. data/lib/nokogiri/xml/cdata.rb +1 -0
  127. data/lib/nokogiri/xml/character_data.rb +1 -0
  128. data/lib/nokogiri/xml/document.rb +20 -15
  129. data/lib/nokogiri/xml/document_fragment.rb +5 -6
  130. data/lib/nokogiri/xml/dtd.rb +1 -0
  131. data/lib/nokogiri/xml/element_content.rb +1 -0
  132. data/lib/nokogiri/xml/element_decl.rb +1 -0
  133. data/lib/nokogiri/xml/entity_decl.rb +1 -0
  134. data/lib/nokogiri/xml/entity_reference.rb +1 -0
  135. data/lib/nokogiri/xml/namespace.rb +1 -0
  136. data/lib/nokogiri/xml/node.rb +587 -249
  137. data/lib/nokogiri/xml/node/save_options.rb +1 -0
  138. data/lib/nokogiri/xml/node_set.rb +1 -0
  139. data/lib/nokogiri/xml/notation.rb +1 -0
  140. data/lib/nokogiri/xml/parse_options.rb +10 -3
  141. data/lib/nokogiri/xml/pp.rb +1 -0
  142. data/lib/nokogiri/xml/pp/character_data.rb +1 -0
  143. data/lib/nokogiri/xml/pp/node.rb +1 -0
  144. data/lib/nokogiri/xml/processing_instruction.rb +1 -0
  145. data/lib/nokogiri/xml/reader.rb +7 -3
  146. data/lib/nokogiri/xml/relax_ng.rb +7 -2
  147. data/lib/nokogiri/xml/sax.rb +1 -0
  148. data/lib/nokogiri/xml/sax/document.rb +1 -0
  149. data/lib/nokogiri/xml/sax/parser.rb +1 -0
  150. data/lib/nokogiri/xml/sax/parser_context.rb +1 -0
  151. data/lib/nokogiri/xml/sax/push_parser.rb +1 -0
  152. data/lib/nokogiri/xml/schema.rb +13 -4
  153. data/lib/nokogiri/xml/searchable.rb +25 -16
  154. data/lib/nokogiri/xml/syntax_error.rb +1 -0
  155. data/lib/nokogiri/xml/text.rb +1 -0
  156. data/lib/nokogiri/xml/xpath.rb +1 -0
  157. data/lib/nokogiri/xml/xpath/syntax_error.rb +1 -0
  158. data/lib/nokogiri/xml/xpath_context.rb +1 -0
  159. data/lib/nokogiri/xslt.rb +1 -0
  160. data/lib/nokogiri/xslt/stylesheet.rb +1 -0
  161. data/lib/xsd/xmlparser/nokogiri.rb +1 -0
  162. metadata +148 -131
  163. data/lib/nokogiri/2.3/nokogiri.so +0 -0
  164. data/lib/nokogiri/2.4/nokogiri.so +0 -0
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  class Node
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  ####
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  class Notation < Struct.new(:name, :public_id, :system_id)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  ###
@@ -5,11 +6,11 @@ module Nokogiri
5
6
  #
6
7
  # == Building combinations of parse options
7
8
  # You can build your own combinations of these parse options by using any of the following methods:
8
- # *Note*: All examples attempt to set the +RECOVER+ & +NOENT+ options. All examples use Ruby 2 optional parameter syntax.
9
+ # *Note*: All examples attempt to set the +RECOVER+ & +NOENT+ options.
9
10
  # [Ruby's bitwise operators] You can use the Ruby bitwise operators to set various combinations.
10
- # Nokogiri.XML('<content>Chapter 1</content', options: Nokogiri::XML::ParseOptions.new((1 << 0) | (1 << 1)))
11
+ # Nokogiri.XML('<content>Chapter 1</content', nil, nil, Nokogiri::XML::ParseOptions.new((1 << 0) | (1 << 1)))
11
12
  # [Method chaining] Every option has an equivalent method in lowercase. You can chain these methods together to set various combinations.
12
- # Nokogiri.XML('<content>Chapter 1</content', options: Nokogiri::XML::ParseOptions.new.recover.noent)
13
+ # Nokogiri.XML('<content>Chapter 1</content', nil, nil, Nokogiri::XML::ParseOptions.new.recover.noent)
13
14
  # [Using Ruby Blocks] You can also setup parse combinations in the block passed to Nokogiri.XML or Nokogiri.HTML
14
15
  # Nokogiri.XML('<content>Chapter 1</content') {|config| config.recover.noent}
15
16
  #
@@ -72,6 +73,8 @@ module Nokogiri
72
73
  DEFAULT_XML = RECOVER | NONET
73
74
  # the default options used for parsing HTML documents
74
75
  DEFAULT_HTML = RECOVER | NOERROR | NOWARNING | NONET
76
+ # the default options used for parsing XML schemas
77
+ DEFAULT_SCHEMA = NONET
75
78
 
76
79
  attr_accessor :options
77
80
  def initialize options = STRICT
@@ -106,6 +109,10 @@ module Nokogiri
106
109
  @options & RECOVER == STRICT
107
110
  end
108
111
 
112
+ def ==(other)
113
+ other.to_i == to_i
114
+ end
115
+
109
116
  alias :to_i :options
110
117
 
111
118
  def inspect
@@ -1,2 +1,3 @@
1
+ # frozen_string_literal: true
1
2
  require 'nokogiri/xml/pp/node'
2
3
  require 'nokogiri/xml/pp/character_data'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  module PP
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  module PP
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  class ProcessingInstruction < Node
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  ###
@@ -87,9 +88,12 @@ module Nokogiri
87
88
  ###
88
89
  # Get a list of attributes for the current node.
89
90
  def attributes
90
- Hash[attribute_nodes.map { |node|
91
- [node.name, node.to_s]
92
- }].merge(namespaces || {})
91
+ attrs_hash = attribute_nodes.each_with_object({}) do |node, hash|
92
+ hash[node.name] = node.to_s
93
+ end
94
+ ns = namespaces
95
+ attrs_hash.merge!(ns) if ns
96
+ attrs_hash
93
97
  end
94
98
 
95
99
  ###
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  class << self
4
5
  ###
5
6
  # Create a new Nokogiri::XML::RelaxNG document from +string_or_io+.
6
7
  # See Nokogiri::XML::RelaxNG for an example.
7
- def RelaxNG string_or_io
8
- RelaxNG.new(string_or_io)
8
+ def RelaxNG(string_or_io, options = ParseOptions::DEFAULT_SCHEMA)
9
+ RelaxNG.new(string_or_io, options)
9
10
  end
10
11
  end
11
12
 
@@ -26,6 +27,10 @@ module Nokogiri
26
27
  # end
27
28
  #
28
29
  # The list of errors are Nokogiri::XML::SyntaxError objects.
30
+ #
31
+ # NOTE: RelaxNG input is always treated as TRUSTED documents, meaning that they will cause the
32
+ # underlying parsing libraries to access network resources. This is counter to Nokogiri's
33
+ # "untrusted by default" security policy, but is a limitation of the underlying libraries.
29
34
  class RelaxNG < Nokogiri::XML::Schema
30
35
  end
31
36
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'nokogiri/xml/sax/document'
2
3
  require 'nokogiri/xml/sax/parser_context'
3
4
  require 'nokogiri/xml/sax/parser'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  ###
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  module SAX
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  module SAX
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  module SAX
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  class << self
4
5
  ###
5
6
  # Create a new Nokogiri::XML::Schema object using a +string_or_io+
6
7
  # object.
7
- def Schema string_or_io
8
- Schema.new(string_or_io)
8
+ def Schema(string_or_io, options = ParseOptions::DEFAULT_SCHEMA)
9
+ Schema.new(string_or_io, options)
9
10
  end
10
11
  end
11
12
 
@@ -26,15 +27,23 @@ module Nokogiri
26
27
  # end
27
28
  #
28
29
  # The list of errors are Nokogiri::XML::SyntaxError objects.
30
+ #
31
+ # NOTE: As of v1.11.0, Schema treats inputs as UNTRUSTED by default, and so external entities
32
+ # are not resolved from the network (`http://` or `ftp://`). Previously, parsing treated
33
+ # documents as "trusted" by default which was counter to Nokogiri's "untrusted by default"
34
+ # security policy. If a document is trusted, then the caller may turn off the NONET option via
35
+ # the ParseOptions to re-enable external entity resolution over a network connection.
29
36
  class Schema
30
37
  # Errors while parsing the schema file
31
38
  attr_accessor :errors
39
+ # The Nokogiri::XML::ParseOptions used to parse the schema
40
+ attr_accessor :parse_options
32
41
 
33
42
  ###
34
43
  # Create a new Nokogiri::XML::Schema object using a +string_or_io+
35
44
  # object.
36
- def self.new string_or_io
37
- from_document Nokogiri::XML(string_or_io)
45
+ def self.new string_or_io, options = ParseOptions::DEFAULT_SCHEMA
46
+ from_document(Nokogiri::XML(string_or_io), options)
38
47
  end
39
48
 
40
49
  ###
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  #
@@ -11,7 +12,9 @@ module Nokogiri
11
12
  # Regular expression used by Searchable#search to determine if a query
12
13
  # string is CSS or XPath
13
14
  LOOKS_LIKE_XPATH = /^(\.\/|\/|\.\.|\.$)/
14
-
15
+
16
+ # @!group Searching via XPath or CSS Queries
17
+
15
18
  ###
16
19
  # call-seq: search *paths, [namespace-bindings, xpath-variable-bindings, custom-handler-class]
17
20
  #
@@ -45,7 +48,7 @@ module Nokogiri
45
48
  # )
46
49
  #
47
50
  # See Searchable#xpath and Searchable#css for further usage help.
48
- def search *args
51
+ def search(*args)
49
52
  paths, handler, ns, binds = extract_params(args)
50
53
 
51
54
  xpaths = paths.map(&:to_s).map do |path|
@@ -54,6 +57,7 @@ module Nokogiri
54
57
 
55
58
  xpath(*(xpaths + [ns, handler, binds].compact))
56
59
  end
60
+
57
61
  alias :/ :search
58
62
 
59
63
  ###
@@ -63,9 +67,10 @@ module Nokogiri
63
67
  # result. +paths+ must be one or more XPath or CSS queries.
64
68
  #
65
69
  # See Searchable#search for more information.
66
- def at *args
70
+ def at(*args)
67
71
  search(*args).first
68
72
  end
73
+
69
74
  alias :% :at
70
75
 
71
76
  ###
@@ -101,7 +106,7 @@ module Nokogiri
101
106
  # found in an XML document, where tags names are case-sensitive
102
107
  # (e.g., "H1" is distinct from "h1").
103
108
  #
104
- def css *args
109
+ def css(*args)
105
110
  rules, handler, ns, _ = extract_params(args)
106
111
 
107
112
  css_internal self, rules, handler, ns
@@ -114,7 +119,7 @@ module Nokogiri
114
119
  # match. +rules+ must be one or more CSS selectors.
115
120
  #
116
121
  # See Searchable#css for more information.
117
- def at_css *args
122
+ def at_css(*args)
118
123
  css(*args).first
119
124
  end
120
125
 
@@ -148,7 +153,7 @@ module Nokogiri
148
153
  # end
149
154
  # }.new)
150
155
  #
151
- def xpath *args
156
+ def xpath(*args)
152
157
  paths, handler, ns, binds = extract_params(args)
153
158
 
154
159
  xpath_internal self, paths, handler, ns, binds
@@ -161,17 +166,19 @@ module Nokogiri
161
166
  # match. +paths+ must be one or more XPath queries.
162
167
  #
163
168
  # See Searchable#xpath for more information.
164
- def at_xpath *args
169
+ def at_xpath(*args)
165
170
  xpath(*args).first
166
171
  end
167
172
 
173
+ # @!endgroup
174
+
168
175
  private
169
176
 
170
- def css_internal node, rules, handler, ns
177
+ def css_internal(node, rules, handler, ns)
171
178
  xpath_internal node, css_rules_to_xpath(rules, ns), handler, ns, nil
172
179
  end
173
180
 
174
- def xpath_internal node, paths, handler, ns, binds
181
+ def xpath_internal(node, paths, handler, ns, binds)
175
182
  document = node.document
176
183
  return NodeSet.new(document) unless document
177
184
 
@@ -186,12 +193,12 @@ module Nokogiri
186
193
  end
187
194
  end
188
195
 
189
- def xpath_impl node, path, handler, ns, binds
196
+ def xpath_impl(node, path, handler, ns, binds)
190
197
  ctx = XPathContext.new(node)
191
198
  ctx.register_namespaces(ns)
192
- path = path.gsub(/xmlns:/, ' :') unless Nokogiri.uses_libxml?
199
+ path = path.gsub(/xmlns:/, " :") unless Nokogiri.uses_libxml?
193
200
 
194
- binds.each do |key,value|
201
+ binds.each do |key, value|
195
202
  ctx.register_variable key.to_s, value
196
203
  end if binds
197
204
 
@@ -202,13 +209,15 @@ module Nokogiri
202
209
  rules.map { |rule| xpath_query_from_css_rule(rule, ns) }
203
210
  end
204
211
 
205
- def xpath_query_from_css_rule rule, ns
212
+ def xpath_query_from_css_rule(rule, ns)
213
+ visitor = Nokogiri::CSS::XPathVisitorOptimallyUseBuiltins.new
206
214
  self.class::IMPLIED_XPATH_CONTEXTS.map do |implied_xpath_context|
207
- CSS.xpath_for(rule.to_s, :prefix => implied_xpath_context, :ns => ns)
208
- end.join(' | ')
215
+ CSS.xpath_for(rule.to_s, {:prefix => implied_xpath_context, :ns => ns,
216
+ :visitor => visitor})
217
+ end.join(" | ")
209
218
  end
210
219
 
211
- def extract_params params # :nodoc:
220
+ def extract_params(params) # :nodoc:
212
221
  handler = params.find do |param|
213
222
  ![Hash, String, Symbol].include?(param.class)
214
223
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  ###
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  class Text < Nokogiri::XML::CharacterData
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'nokogiri/xml/xpath/syntax_error'
2
3
 
3
4
  module Nokogiri
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  class XPath
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XML
3
4
  class XPathContext
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'nokogiri/xslt/stylesheet'
2
3
 
3
4
  module Nokogiri
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Nokogiri
2
3
  module XSLT
3
4
  ###
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'nokogiri'
2
3
 
3
4
  module XSD # :nodoc:
metadata CHANGED
@@ -1,105 +1,80 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.10
4
+ version: 1.11.0
5
5
  platform: x64-mingw32
6
6
  authors:
7
- - Aaron Patterson
8
7
  - Mike Dalessio
8
+ - Aaron Patterson
9
9
  - Yoko Harada
10
- - Tim Elliott
11
10
  - Akinori MUSHA
12
11
  - John Shahid
12
+ - Karol Bucek
13
13
  - Lars Kanis
14
+ - Sergio Arbeo
15
+ - Timothy Elliott
16
+ - Nobuyoshi Nakada
14
17
  autorequire:
15
18
  bindir: bin
16
19
  cert_chain: []
17
- date: 2020-07-06 00:00:00.000000000 Z
20
+ date: 2021-01-04 00:00:00.000000000 Z
18
21
  dependencies:
19
22
  - !ruby/object:Gem::Dependency
20
- name: mini_portile2
23
+ name: racc
21
24
  requirement: !ruby/object:Gem::Requirement
22
25
  requirements:
23
26
  - - "~>"
24
27
  - !ruby/object:Gem::Version
25
- version: 2.4.0
28
+ version: '1.4'
26
29
  type: :runtime
27
30
  prerelease: false
28
31
  version_requirements: !ruby/object:Gem::Requirement
29
32
  requirements:
30
33
  - - "~>"
31
34
  - !ruby/object:Gem::Version
32
- version: 2.4.0
33
- - !ruby/object:Gem::Dependency
34
- name: concourse
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '0.24'
40
- type: :development
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '0.24'
47
- - !ruby/object:Gem::Dependency
48
- name: hoe-bundler
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '1.2'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '1.2'
35
+ version: '1.4'
61
36
  - !ruby/object:Gem::Dependency
62
- name: hoe-debugging
37
+ name: bundler
63
38
  requirement: !ruby/object:Gem::Requirement
64
39
  requirements:
65
40
  - - "~>"
66
41
  - !ruby/object:Gem::Version
67
- version: '2.0'
42
+ version: '2.2'
68
43
  type: :development
69
44
  prerelease: false
70
45
  version_requirements: !ruby/object:Gem::Requirement
71
46
  requirements:
72
47
  - - "~>"
73
48
  - !ruby/object:Gem::Version
74
- version: '2.0'
49
+ version: '2.2'
75
50
  - !ruby/object:Gem::Dependency
76
- name: hoe-gemspec
51
+ name: concourse
77
52
  requirement: !ruby/object:Gem::Requirement
78
53
  requirements:
79
54
  - - "~>"
80
55
  - !ruby/object:Gem::Version
81
- version: '1.0'
56
+ version: '0.41'
82
57
  type: :development
83
58
  prerelease: false
84
59
  version_requirements: !ruby/object:Gem::Requirement
85
60
  requirements:
86
61
  - - "~>"
87
62
  - !ruby/object:Gem::Version
88
- version: '1.0'
63
+ version: '0.41'
89
64
  - !ruby/object:Gem::Dependency
90
- name: hoe-git
65
+ name: hoe-markdown
91
66
  requirement: !ruby/object:Gem::Requirement
92
67
  requirements:
93
68
  - - "~>"
94
69
  - !ruby/object:Gem::Version
95
- version: '1.6'
70
+ version: '1.1'
96
71
  type: :development
97
72
  prerelease: false
98
73
  version_requirements: !ruby/object:Gem::Requirement
99
74
  requirements:
100
75
  - - "~>"
101
76
  - !ruby/object:Gem::Version
102
- version: '1.6'
77
+ version: '1.1'
103
78
  - !ruby/object:Gem::Dependency
104
79
  name: minitest
105
80
  requirement: !ruby/object:Gem::Requirement
@@ -115,61 +90,61 @@ dependencies:
115
90
  - !ruby/object:Gem::Version
116
91
  version: '5.8'
117
92
  - !ruby/object:Gem::Dependency
118
- name: racc
93
+ name: minitest-reporters
119
94
  requirement: !ruby/object:Gem::Requirement
120
95
  requirements:
121
96
  - - "~>"
122
97
  - !ruby/object:Gem::Version
123
- version: 1.4.14
98
+ version: '1.4'
124
99
  type: :development
125
100
  prerelease: false
126
101
  version_requirements: !ruby/object:Gem::Requirement
127
102
  requirements:
128
103
  - - "~>"
129
104
  - !ruby/object:Gem::Version
130
- version: 1.4.14
105
+ version: '1.4'
131
106
  - !ruby/object:Gem::Dependency
132
107
  name: rake
133
108
  requirement: !ruby/object:Gem::Requirement
134
109
  requirements:
135
110
  - - "~>"
136
111
  - !ruby/object:Gem::Version
137
- version: '12.0'
112
+ version: '13.0'
138
113
  type: :development
139
114
  prerelease: false
140
115
  version_requirements: !ruby/object:Gem::Requirement
141
116
  requirements:
142
117
  - - "~>"
143
118
  - !ruby/object:Gem::Version
144
- version: '12.0'
119
+ version: '13.0'
145
120
  - !ruby/object:Gem::Dependency
146
121
  name: rake-compiler
147
122
  requirement: !ruby/object:Gem::Requirement
148
123
  requirements:
149
124
  - - "~>"
150
125
  - !ruby/object:Gem::Version
151
- version: 1.1.0
126
+ version: '1.1'
152
127
  type: :development
153
128
  prerelease: false
154
129
  version_requirements: !ruby/object:Gem::Requirement
155
130
  requirements:
156
131
  - - "~>"
157
132
  - !ruby/object:Gem::Version
158
- version: 1.1.0
133
+ version: '1.1'
159
134
  - !ruby/object:Gem::Dependency
160
135
  name: rake-compiler-dock
161
136
  requirement: !ruby/object:Gem::Requirement
162
137
  requirements:
163
138
  - - "~>"
164
139
  - !ruby/object:Gem::Version
165
- version: '1.0'
140
+ version: '1.1'
166
141
  type: :development
167
142
  prerelease: false
168
143
  version_requirements: !ruby/object:Gem::Requirement
169
144
  requirements:
170
145
  - - "~>"
171
146
  - !ruby/object:Gem::Version
172
- version: '1.0'
147
+ version: '1.1'
173
148
  - !ruby/object:Gem::Dependency
174
149
  name: rexical
175
150
  requirement: !ruby/object:Gem::Requirement
@@ -190,116 +165,88 @@ dependencies:
190
165
  requirements:
191
166
  - - "~>"
192
167
  - !ruby/object:Gem::Version
193
- version: '0.73'
168
+ version: '0.88'
194
169
  type: :development
195
170
  prerelease: false
196
171
  version_requirements: !ruby/object:Gem::Requirement
197
172
  requirements:
198
173
  - - "~>"
199
174
  - !ruby/object:Gem::Version
200
- version: '0.73'
175
+ version: '0.88'
201
176
  - !ruby/object:Gem::Dependency
202
177
  name: simplecov
203
178
  requirement: !ruby/object:Gem::Requirement
204
179
  requirements:
205
180
  - - "~>"
206
181
  - !ruby/object:Gem::Version
207
- version: '0.16'
182
+ version: '0.20'
208
183
  type: :development
209
184
  prerelease: false
210
185
  version_requirements: !ruby/object:Gem::Requirement
211
186
  requirements:
212
187
  - - "~>"
213
188
  - !ruby/object:Gem::Version
214
- version: '0.16'
215
- - !ruby/object:Gem::Dependency
216
- name: rdoc
217
- requirement: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - ">="
220
- - !ruby/object:Gem::Version
221
- version: '4.0'
222
- - - "<"
223
- - !ruby/object:Gem::Version
224
- version: '7'
225
- type: :development
226
- prerelease: false
227
- version_requirements: !ruby/object:Gem::Requirement
228
- requirements:
229
- - - ">="
230
- - !ruby/object:Gem::Version
231
- version: '4.0'
232
- - - "<"
233
- - !ruby/object:Gem::Version
234
- version: '7'
189
+ version: '0.20'
235
190
  - !ruby/object:Gem::Dependency
236
- name: hoe
191
+ name: yard
237
192
  requirement: !ruby/object:Gem::Requirement
238
193
  requirements:
239
194
  - - "~>"
240
195
  - !ruby/object:Gem::Version
241
- version: '3.22'
196
+ version: '0.9'
242
197
  type: :development
243
198
  prerelease: false
244
199
  version_requirements: !ruby/object:Gem::Requirement
245
200
  requirements:
246
201
  - - "~>"
247
202
  - !ruby/object:Gem::Version
248
- version: '3.22'
249
- description: |-
250
- Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among
251
- Nokogiri's many features is the ability to search documents via XPath
252
- or CSS3 selectors.
253
- email:
254
- - aaronp@rubyforge.org
255
- - mike.dalessio@gmail.com
256
- - yokolet@gmail.com
257
- - tle@holymonkey.com
258
- - knu@idaemons.org
259
- - jvshahid@gmail.com
260
- - lars@greiz-reinsdorf.de
203
+ version: '0.9'
204
+ description: |
205
+ Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a
206
+ sensible, easy-to-understand API for reading, writing, modifying, and querying documents. It is
207
+ fast and standards-compliant by relying on native parsers like libxml2 (C) and xerces (Java).
208
+ email: nokogiri-talk@googlegroups.com
261
209
  executables:
262
210
  - nokogiri
263
211
  extensions: []
264
212
  extra_rdoc_files:
265
- - LICENSE-DEPENDENCIES.md
266
- - LICENSE.md
267
- - README.md
268
- - ext/nokogiri/html_document.c
269
- - ext/nokogiri/html_element_description.c
270
- - ext/nokogiri/html_entity_lookup.c
271
- - ext/nokogiri/html_sax_parser_context.c
272
- - ext/nokogiri/html_sax_push_parser.c
273
- - ext/nokogiri/nokogiri.c
213
+ - ext/nokogiri/xml_dtd.c
214
+ - ext/nokogiri/xml_xpath_context.c
274
215
  - ext/nokogiri/xml_attr.c
275
- - ext/nokogiri/xml_attribute_decl.c
276
- - ext/nokogiri/xml_cdata.c
277
216
  - ext/nokogiri/xml_comment.c
278
- - ext/nokogiri/xml_document.c
279
- - ext/nokogiri/xml_document_fragment.c
280
- - ext/nokogiri/xml_dtd.c
217
+ - ext/nokogiri/nokogiri.c
218
+ - ext/nokogiri/xml_sax_parser_context.c
219
+ - ext/nokogiri/xml_node_set.c
220
+ - ext/nokogiri/xml_reader.c
221
+ - ext/nokogiri/xml_libxml2_hacks.c
222
+ - ext/nokogiri/xml_cdata.c
281
223
  - ext/nokogiri/xml_element_content.c
224
+ - ext/nokogiri/html_entity_lookup.c
225
+ - ext/nokogiri/xml_namespace.c
226
+ - ext/nokogiri/xml_io.c
227
+ - ext/nokogiri/xml_document.c
282
228
  - ext/nokogiri/xml_element_decl.c
229
+ - ext/nokogiri/xml_schema.c
230
+ - ext/nokogiri/html_document.c
231
+ - ext/nokogiri/xml_processing_instruction.c
232
+ - ext/nokogiri/xml_text.c
233
+ - ext/nokogiri/xml_syntax_error.c
234
+ - ext/nokogiri/xml_document_fragment.c
235
+ - ext/nokogiri/xml_sax_push_parser.c
283
236
  - ext/nokogiri/xml_encoding_handler.c
237
+ - ext/nokogiri/html_sax_push_parser.c
238
+ - ext/nokogiri/xml_relax_ng.c
284
239
  - ext/nokogiri/xml_entity_decl.c
285
- - ext/nokogiri/xml_entity_reference.c
286
- - ext/nokogiri/xml_io.c
287
- - ext/nokogiri/xml_libxml2_hacks.c
288
- - ext/nokogiri/xml_namespace.c
289
240
  - ext/nokogiri/xml_node.c
290
- - ext/nokogiri/xml_node_set.c
291
- - ext/nokogiri/xml_processing_instruction.c
292
- - ext/nokogiri/xml_reader.c
293
- - ext/nokogiri/xml_relax_ng.c
294
- - ext/nokogiri/xml_sax_parser.c
295
- - ext/nokogiri/xml_sax_parser_context.c
296
- - ext/nokogiri/xml_sax_push_parser.c
297
- - ext/nokogiri/xml_schema.c
298
- - ext/nokogiri/xml_syntax_error.c
299
- - ext/nokogiri/xml_text.c
300
- - ext/nokogiri/xml_xpath_context.c
241
+ - ext/nokogiri/xml_entity_reference.c
301
242
  - ext/nokogiri/xslt_stylesheet.c
243
+ - ext/nokogiri/html_sax_parser_context.c
244
+ - ext/nokogiri/xml_sax_parser.c
245
+ - ext/nokogiri/xml_attribute_decl.c
246
+ - ext/nokogiri/html_element_description.c
247
+ - README.md
302
248
  files:
249
+ - Gemfile
303
250
  - LICENSE-DEPENDENCIES.md
304
251
  - LICENSE.md
305
252
  - README.md
@@ -317,6 +264,77 @@ files:
317
264
  - ext/nokogiri/html_sax_parser_context.h
318
265
  - ext/nokogiri/html_sax_push_parser.c
319
266
  - ext/nokogiri/html_sax_push_parser.h
267
+ - ext/nokogiri/include/libexslt/exslt.h
268
+ - ext/nokogiri/include/libexslt/exsltconfig.h
269
+ - ext/nokogiri/include/libexslt/exsltexports.h
270
+ - ext/nokogiri/include/libxml2/libxml/DOCBparser.h
271
+ - ext/nokogiri/include/libxml2/libxml/HTMLparser.h
272
+ - ext/nokogiri/include/libxml2/libxml/HTMLtree.h
273
+ - ext/nokogiri/include/libxml2/libxml/SAX.h
274
+ - ext/nokogiri/include/libxml2/libxml/SAX2.h
275
+ - ext/nokogiri/include/libxml2/libxml/c14n.h
276
+ - ext/nokogiri/include/libxml2/libxml/catalog.h
277
+ - ext/nokogiri/include/libxml2/libxml/chvalid.h
278
+ - ext/nokogiri/include/libxml2/libxml/debugXML.h
279
+ - ext/nokogiri/include/libxml2/libxml/dict.h
280
+ - ext/nokogiri/include/libxml2/libxml/encoding.h
281
+ - ext/nokogiri/include/libxml2/libxml/entities.h
282
+ - ext/nokogiri/include/libxml2/libxml/globals.h
283
+ - ext/nokogiri/include/libxml2/libxml/hash.h
284
+ - ext/nokogiri/include/libxml2/libxml/list.h
285
+ - ext/nokogiri/include/libxml2/libxml/nanoftp.h
286
+ - ext/nokogiri/include/libxml2/libxml/nanohttp.h
287
+ - ext/nokogiri/include/libxml2/libxml/parser.h
288
+ - ext/nokogiri/include/libxml2/libxml/parserInternals.h
289
+ - ext/nokogiri/include/libxml2/libxml/pattern.h
290
+ - ext/nokogiri/include/libxml2/libxml/relaxng.h
291
+ - ext/nokogiri/include/libxml2/libxml/schemasInternals.h
292
+ - ext/nokogiri/include/libxml2/libxml/schematron.h
293
+ - ext/nokogiri/include/libxml2/libxml/threads.h
294
+ - ext/nokogiri/include/libxml2/libxml/tree.h
295
+ - ext/nokogiri/include/libxml2/libxml/uri.h
296
+ - ext/nokogiri/include/libxml2/libxml/valid.h
297
+ - ext/nokogiri/include/libxml2/libxml/xinclude.h
298
+ - ext/nokogiri/include/libxml2/libxml/xlink.h
299
+ - ext/nokogiri/include/libxml2/libxml/xmlIO.h
300
+ - ext/nokogiri/include/libxml2/libxml/xmlautomata.h
301
+ - ext/nokogiri/include/libxml2/libxml/xmlerror.h
302
+ - ext/nokogiri/include/libxml2/libxml/xmlexports.h
303
+ - ext/nokogiri/include/libxml2/libxml/xmlmemory.h
304
+ - ext/nokogiri/include/libxml2/libxml/xmlmodule.h
305
+ - ext/nokogiri/include/libxml2/libxml/xmlreader.h
306
+ - ext/nokogiri/include/libxml2/libxml/xmlregexp.h
307
+ - ext/nokogiri/include/libxml2/libxml/xmlsave.h
308
+ - ext/nokogiri/include/libxml2/libxml/xmlschemas.h
309
+ - ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h
310
+ - ext/nokogiri/include/libxml2/libxml/xmlstring.h
311
+ - ext/nokogiri/include/libxml2/libxml/xmlunicode.h
312
+ - ext/nokogiri/include/libxml2/libxml/xmlversion.h
313
+ - ext/nokogiri/include/libxml2/libxml/xmlwriter.h
314
+ - ext/nokogiri/include/libxml2/libxml/xpath.h
315
+ - ext/nokogiri/include/libxml2/libxml/xpathInternals.h
316
+ - ext/nokogiri/include/libxml2/libxml/xpointer.h
317
+ - ext/nokogiri/include/libxslt/attributes.h
318
+ - ext/nokogiri/include/libxslt/documents.h
319
+ - ext/nokogiri/include/libxslt/extensions.h
320
+ - ext/nokogiri/include/libxslt/extra.h
321
+ - ext/nokogiri/include/libxslt/functions.h
322
+ - ext/nokogiri/include/libxslt/imports.h
323
+ - ext/nokogiri/include/libxslt/keys.h
324
+ - ext/nokogiri/include/libxslt/namespaces.h
325
+ - ext/nokogiri/include/libxslt/numbersInternals.h
326
+ - ext/nokogiri/include/libxslt/pattern.h
327
+ - ext/nokogiri/include/libxslt/preproc.h
328
+ - ext/nokogiri/include/libxslt/security.h
329
+ - ext/nokogiri/include/libxslt/templates.h
330
+ - ext/nokogiri/include/libxslt/transform.h
331
+ - ext/nokogiri/include/libxslt/variables.h
332
+ - ext/nokogiri/include/libxslt/xslt.h
333
+ - ext/nokogiri/include/libxslt/xsltInternals.h
334
+ - ext/nokogiri/include/libxslt/xsltconfig.h
335
+ - ext/nokogiri/include/libxslt/xsltexports.h
336
+ - ext/nokogiri/include/libxslt/xsltlocale.h
337
+ - ext/nokogiri/include/libxslt/xsltutils.h
320
338
  - ext/nokogiri/nokogiri.c
321
339
  - ext/nokogiri/nokogiri.h
322
340
  - ext/nokogiri/xml_attr.c
@@ -376,11 +394,10 @@ files:
376
394
  - ext/nokogiri/xslt_stylesheet.c
377
395
  - ext/nokogiri/xslt_stylesheet.h
378
396
  - lib/nokogiri.rb
379
- - lib/nokogiri/2.3/nokogiri.so
380
- - lib/nokogiri/2.4/nokogiri.so
381
397
  - lib/nokogiri/2.5/nokogiri.so
382
398
  - lib/nokogiri/2.6/nokogiri.so
383
399
  - lib/nokogiri/2.7/nokogiri.so
400
+ - lib/nokogiri/3.0/nokogiri.so
384
401
  - lib/nokogiri/css.rb
385
402
  - lib/nokogiri/css/node.rb
386
403
  - lib/nokogiri/css/parser.rb
@@ -401,8 +418,11 @@ files:
401
418
  - lib/nokogiri/html/sax/parser.rb
402
419
  - lib/nokogiri/html/sax/parser_context.rb
403
420
  - lib/nokogiri/html/sax/push_parser.rb
421
+ - lib/nokogiri/jruby/dependencies.rb
404
422
  - lib/nokogiri/syntax_error.rb
405
423
  - lib/nokogiri/version.rb
424
+ - lib/nokogiri/version/constant.rb
425
+ - lib/nokogiri/version/info.rb
406
426
  - lib/nokogiri/xml.rb
407
427
  - lib/nokogiri/xml/attr.rb
408
428
  - lib/nokogiri/xml/attribute_decl.rb
@@ -452,10 +472,7 @@ metadata:
452
472
  documentation_uri: https://nokogiri.org/rdoc/index.html
453
473
  changelog_uri: https://nokogiri.org/CHANGELOG.html
454
474
  source_code_uri: https://github.com/sparklemotion/nokogiri
455
- post_install_message: 'Nokogiri is built with the packaged libraries: libxml2-2.9.10,
456
- libxslt-1.1.34, zlib-1.2.11, libiconv-1.15.
457
-
458
- '
475
+ post_install_message:
459
476
  rdoc_options:
460
477
  - "--main"
461
478
  - README.md
@@ -465,18 +482,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
465
482
  requirements:
466
483
  - - ">="
467
484
  - !ruby/object:Gem::Version
468
- version: '2.3'
485
+ version: '2.5'
469
486
  - - "<"
470
487
  - !ruby/object:Gem::Version
471
- version: 2.8.dev
488
+ version: 3.1.dev
472
489
  required_rubygems_version: !ruby/object:Gem::Requirement
473
490
  requirements:
474
491
  - - ">="
475
492
  - !ruby/object:Gem::Version
476
493
  version: '0'
477
494
  requirements: []
478
- rubygems_version: 3.1.2
495
+ rubygems_version: 3.2.3
479
496
  signing_key:
480
497
  specification_version: 4
481
- summary: Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser
498
+ summary: Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.
482
499
  test_files: []