nokolexbor 0.3.2-x86-mingw32 → 0.3.4-x86-mingw32

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: ab3000358a691830b406aaa6144934f7c92a7c368b19b46d34288ef58e84c080
4
- data.tar.gz: d9d12df4eab59e9d0ec351bea52a9295eaee9f9066142b5450d5b4557fa98d0b
3
+ metadata.gz: ca5252b82ee773ad65b0a925c748cc818df92352b1f86a5afe83bf3cba540e3e
4
+ data.tar.gz: 57c09a0abd52f4d44908fb1c0ce116c62ed965ee5ac2d126afaf644e7282fead
5
5
  SHA512:
6
- metadata.gz: 90d08634350f0e3de69b38eee35442e8bcf0948a01b8e49df933f84c5b9adba4dd0c9ecafe9b323de4bdd3a599269b9e88195d65bd2b6d448cdf2f3a9dd2b26e
7
- data.tar.gz: e9e9d4199625432f0fbd6a353bad90b1c651db903a6edf87b4192056bfc9520bcd5e2373e40f3640d7bbdf124b274ee3da84a931d16856fb9e04d7b3ed55ac10
6
+ metadata.gz: 9f068f0361b4b42cf7ca86e6de227e38a2b7c1767c5683c9eb8600c7592792451a74f9d99741d656e2dec7b74544f1c12d3c9b62456186eb797aa937c0ab7aab
7
+ data.tar.gz: 5f0c23bb8953f6153c9d7a68f91cf3db87c5b624657069908c77522a57af7385a66453c68e82087f0c26ae245123842ef32b91bfc88ed9d7bc46a624c5ef8dbd
Binary file
Binary file
Binary file
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: x86-mingw32
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
@@ -50,8 +50,8 @@ files:
50
50
  - lib/nokolexbor/2.7/nokolexbor.so
51
51
  - lib/nokolexbor/3.0/nokolexbor.so
52
52
  - lib/nokolexbor/3.1/nokolexbor.so
53
- - lib/nokolexbor/attribute.rb
54
53
  - lib/nokolexbor/document.rb
54
+ - lib/nokolexbor/document_fragment.rb
55
55
  - lib/nokolexbor/node.rb
56
56
  - lib/nokolexbor/node_set.rb
57
57
  - 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