nokolexbor 0.3.2-arm64-darwin → 0.3.4-arm64-darwin

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: 4e5a7bc5521955742ec2b981f546431fa550e180025782c57ad7b156ac24f8d2
4
- data.tar.gz: '095aae93a9e931dfba6b26e1273512246506737546695c474f222510d94e11ed'
3
+ metadata.gz: 4f0cde2a5705c45c57380e6a7ffd1abd7664a8a50fd1c7fdd21d98f33d6f7f6a
4
+ data.tar.gz: 03fda5a9b9d461e33d92c07e0c368301572a4a0c395aa9dbc258c017d6c45788
5
5
  SHA512:
6
- metadata.gz: dc7cf5446ea341e121b8dfa2d04079e343126c12ae3f79328abbdfe7d86ca798389445f5d6941714302589476e752e7667ca6e7a403bd923427be0b7829bdb37
7
- data.tar.gz: e13ce217566e7c52b7cda596ab67dabc698a99a7f34e5c745344728c368ea5c5fe0815771bf560829928b90e3346c74d2e10493644241da0feff6da217ffc3a3
6
+ metadata.gz: 21b8fea4f137b59fcddb6a7583fa953c4dc074a21ab96fbbf59e62a2a17792bf1ed9845bf78150aa8d0bf8e3203463b4de646e54147418ae889cded52270f7fe
7
+ data.tar.gz: 7ec21ee2352218657f7754b45e6dc8064176e656b876f160bb32e9baa3d85afee4600a1a06da4f8755694eb299b36694e2ca9a48d7fc0e9b99dcd9ccc31e7de0
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: arm64-darwin
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.bundle
51
51
  - lib/nokolexbor/3.0/nokolexbor.bundle
52
52
  - lib/nokolexbor/3.1/nokolexbor.bundle
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