nokolexbor 0.3.6-x86_64-darwin → 0.4.0-x86_64-darwin

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9a86d133977fefc442d5bbd31cb083081f4f346ead3a1b9733eb8b8723f82982
4
- data.tar.gz: 2871885394b6cc4d8182b723e0fb6fea51ac4c73e0cb4966ca5ac73ca689a64f
3
+ metadata.gz: 3880a98c6c9c6f73c94db06f7687b627885c0a3515b78ff1ee6e41a25131f8e3
4
+ data.tar.gz: 5c35fc669959fff93fc364c74351b8f64702603f4492fbf444d27499ad8ef776
5
5
  SHA512:
6
- metadata.gz: 50f7a85f5d965f1b1a80750950f14d3cab65fb291e1a9b0448393a9c3932d36bb792176e85f3e747639ad609cd344000e5b6d6686e26256b47edd8ca63c31448
7
- data.tar.gz: 2d7bde634ecb9a904b03fe5884b6ba31b4908a465c571b96a538a1d347f589bff730f231bab5f8a8a298c56b09413a899788198dbeb4c7bd919f2463158a30c3
6
+ metadata.gz: 2ccac0f31388bc725a813e091fe25dd8e99acc8d74392db09ec425590e8773aa208d5f4063e203a2bd768c7514aa583f53a5c215c4d6fc7acd849d65e4aead14
7
+ data.tar.gz: 4d6a3a37092002492fb245fb34f90b35269d7c32b36a8d4c4eab04e8af2ca70feb0b1d72b8816fbba76d36357874966bf9097fd9123d11a51beaa9b94d96a8c7
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -54,6 +54,16 @@ module Nokolexbor
54
54
  length == 0
55
55
  end
56
56
 
57
+ # Insert +node+ before the first Node in this NodeSet
58
+ def before(node)
59
+ first.before(node)
60
+ end
61
+
62
+ # Insert +node+ after the last Node in this NodeSet
63
+ def after(node)
64
+ last.after(node)
65
+ end
66
+
57
67
  # @return [Integer] The index of the first node in this NodeSet that is equal to +node+ or meets the given block. Returns nil if no match is found.
58
68
  def index(node = nil)
59
69
  if node
@@ -169,6 +179,75 @@ module Nokolexbor
169
179
  self
170
180
  end
171
181
 
182
+ # Add the class attribute +name+ to all containing nodes.
183
+ #
184
+ # @see Node#add_class
185
+ def add_class(name)
186
+ each do |el|
187
+ el.add_class(name)
188
+ end
189
+ self
190
+ end
191
+
192
+ # Append the class attribute +name+ to all containing nodes.
193
+ #
194
+ # @see Node#append_class
195
+ def append_class(name)
196
+ each do |el|
197
+ el.append_class(name)
198
+ end
199
+ self
200
+ end
201
+
202
+ # Remove the class attribute +name+ from all containing nodes.
203
+ #
204
+ # @see Node#remove_class
205
+ def remove_class(name = nil)
206
+ each do |el|
207
+ el.remove_class(name)
208
+ end
209
+ self
210
+ end
211
+
212
+ # Remove the attributed named +name+ from all containing nodes.
213
+ #
214
+ # @see Node#remove_attr
215
+ def remove_attr(name)
216
+ each { |el| el.delete(name) }
217
+ self
218
+ end
219
+ alias_method :remove_attribute, :remove_attr
220
+
221
+ # Set attributes on each Node in the NodeSet, or get an
222
+ # attribute from the first Node in the NodeSet.
223
+ #
224
+ # @example Get an attribute from the first Node in a NodeSet.
225
+ # node_set.attr("href")
226
+ #
227
+ # @example Set attributes on each node.
228
+ # node_set.attr("href" => "http://example.com", "class" => "a")
229
+ # node_set.attr("href", "http://example.com")
230
+ # node_set.attr("href") { |node| "http://example.com" }
231
+ #
232
+ # @return [NodeSet] +self+, to support chaining of calls.
233
+ def attr(key, value = nil, &block)
234
+ unless key.is_a?(Hash) || (key && (value || block))
235
+ return first&.attribute(key)
236
+ end
237
+
238
+ hash = key.is_a?(Hash) ? key : { key => value }
239
+
240
+ hash.each do |k, v|
241
+ each do |node|
242
+ node[k] = v || yield(node)
243
+ end
244
+ end
245
+
246
+ self
247
+ end
248
+ alias_method :set, :attr
249
+ alias_method :attribute, :attr
250
+
172
251
  # (see Node#xpath)
173
252
  def xpath(*args)
174
253
  paths, handler, ns, binds = extract_params(args)
@@ -196,6 +275,10 @@ module Nokolexbor
196
275
  end
197
276
  end
198
277
 
278
+ def inspect
279
+ "[#{map(&:inspect).join(', ')}]"
280
+ end
281
+
199
282
  private
200
283
 
201
284
  IMPLIED_XPATH_CONTEXTS = [".//", "self::"].freeze # :nodoc:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nokolexbor
4
- VERSION = '0.3.6'
4
+ VERSION = '0.4.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokolexbor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.4.0
5
5
  platform: x86_64-darwin
6
6
  authors:
7
7
  - Yicheng Zhou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-04 00:00:00.000000000 Z
11
+ date: 2023-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler