nokolexbor 0.3.2-x64-mingw-ucrt → 0.3.4-x64-mingw-ucrt

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: 84dbcded2e705c7a97e6e2409e504aaa8d88f668a9a951e9d116bd80fa6187c3
4
- data.tar.gz: 5bf9ec35839e7736e75815e5f45f0d8f516c6b8a6ab69ba17e1a29caff8e3686
3
+ metadata.gz: d629b698ad3a54050d1c99194a62a7518b5d9c2744b7c21ea3bc0876f991354a
4
+ data.tar.gz: 60def520086d1bd13c2e48795e10db5d20fc0c63b697017410785ff89dd43db0
5
5
  SHA512:
6
- metadata.gz: dc908e49de45ba73f0a488a8e287231bfdc25447ce1fa8d543220effdc59c9e906b3bc621959b8d0acbaf70f5a302f9039cc8baf65b4db73f1260339662f5c56
7
- data.tar.gz: f321b363e12b9b7c30fb7fe4d8e1e581a643a2c15f6bad122bef70a6b7540eb61535a87d9ae17a1442fb4eadca0ed286365d1125ec07edccdb3472550d0fab4a
6
+ metadata.gz: 59ce97198f3c81ec2c6130e8c464cc37dae5ff3ece464491a666c116387571d3b9fffa258cdbd938fbf7fa85f1c7f3c2d5551228baf5d889fee509f0d5cb609b
7
+ data.tar.gz: f3196ca6a82842a4249a1f41532b491e83166ead01504f47399b1c087e00726b2cecf7c9d1de3d273868e67e28fdd42447f193de63faabb28c1a9fdebdb72b6b
Binary file
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Nokolexbor
4
+ class DocumentFragment < Nokolexbor::Node
5
+ def self.parse(tags)
6
+ new(Nokolexbor::Document.new, tags, nil)
7
+ end
8
+
9
+ def initialize(document, tags = nil, ctx = nil)
10
+ return self unless tags
11
+
12
+ ctx ||= document
13
+ node_set = ctx.parse(tags)
14
+ node_set.each { |child| child.parent = self } unless node_set.empty?
15
+ nil
16
+ end
17
+
18
+ def name
19
+ "#document-fragment"
20
+ end
21
+
22
+ alias_method :outer_html, :inner_html
23
+ alias_method :to_html, :outer_html
24
+ alias_method :to_s, :outer_html
25
+ alias_method :serialize, :outer_html
26
+
27
+ def fragment(data)
28
+ document.fragment(data)
29
+ end
30
+ end
31
+ end
@@ -145,13 +145,10 @@ module Nokolexbor
145
145
  ancestors.last.css(selector).any? { |node| node == self }
146
146
  end
147
147
 
148
- def attribute(name)
149
- return nil unless key?(name)
150
- Attribute.new(name, attr(name))
151
- end
152
-
153
148
  def attributes
154
- attrs.map { |k, v| [k, Attribute.new(k, v)] }.to_h
149
+ attribute_nodes.each_with_object({}) do |node, hash|
150
+ hash[node.name] = node
151
+ end
155
152
  end
156
153
 
157
154
  def replace(node)
@@ -182,6 +179,10 @@ module Nokolexbor
182
179
  end
183
180
  end
184
181
 
182
+ def fragment(tags)
183
+ Nokolexbor::DocumentFragment.new(document, tags, self)
184
+ end
185
+
185
186
  alias_method :inner_html=, :children=
186
187
 
187
188
  def css(*args)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nokolexbor
4
- VERSION = '0.3.2'
4
+ VERSION = '0.3.4'
5
5
  end
data/lib/nokolexbor.rb CHANGED
@@ -25,7 +25,7 @@ require 'nokolexbor/version'
25
25
  require 'nokolexbor/node'
26
26
  require 'nokolexbor/document'
27
27
  require 'nokolexbor/node_set'
28
- require 'nokolexbor/attribute'
28
+ require 'nokolexbor/document_fragment'
29
29
  require 'nokolexbor/xpath'
30
30
  require 'nokolexbor/xpath_context'
31
31
 
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.2
4
+ version: 0.3.4
5
5
  platform: x64-mingw-ucrt
6
6
  authors:
7
7
  - Yicheng Zhou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-09 00:00:00.000000000 Z
11
+ date: 2023-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -47,8 +47,8 @@ extra_rdoc_files: []
47
47
  files:
48
48
  - lib/nokolexbor.rb
49
49
  - lib/nokolexbor/3.1/nokolexbor.so
50
- - lib/nokolexbor/attribute.rb
51
50
  - lib/nokolexbor/document.rb
51
+ - lib/nokolexbor/document_fragment.rb
52
52
  - lib/nokolexbor/node.rb
53
53
  - lib/nokolexbor/node_set.rb
54
54
  - lib/nokolexbor/version.rb
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Nokolexbor
4
- class Attribute
5
- attr_accessor :name
6
- attr_accessor :value
7
-
8
- def initialize(name, value)
9
- @name = name
10
- @value = value
11
- end
12
-
13
- alias_method :text, :value
14
- alias_method :content, :value
15
- alias_method :to_s, :value
16
- alias_method :to_str, :value
17
- end
18
- end