habaki 0.5.8 → 0.5.9

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: 53fe14ebdd6dd692db34dc3a59a3dbe2fc9761d085cd1bcd756080e06483e4c0
4
- data.tar.gz: 6481a5a4591a6e6ebbea3eb6e241eac1baa48ca9812541d8cef184e10f2800a4
3
+ metadata.gz: 4369c0894ef6356caa3fbd8121b49f1bb767e7e7cad4b4401f578d7ba2ca8cba
4
+ data.tar.gz: 854420541b988775b68aafed3834359bd9c71881d5b47fc18e4e72683e7470e9
5
5
  SHA512:
6
- metadata.gz: ce923e584db6917510237761e67f3bdc9ac3153f220ace405a2a9ab2eb7940321239e844d9f7ded97290961780e79aa005cbd7c3962bf68c6f294651d514b73e
7
- data.tar.gz: d3befa18c61f461d0f568a859e93d465248990938d9ecf7bd13109887debeb1b3a753a7fe8ee5ad5cdc9ea9dba3062f1d6dd3ab01b2c7181c9b3f906b8f3111e
6
+ metadata.gz: 1a3f29bd8d7253b88eaf8e1afc48887c69945a73911180e12537590d6430fbb866d87b2e0d081b9700f32e290cd58841d489adf5369da711c2cb2e2eb0810261
7
+ data.tar.gz: 53f3ac7bdce3aa488db1d21f17c04f78881bae5fb45d5342bae44020044ec7d8459278d7b10dd8bdd0b592761b07f951dbcb6fd4f93eb3c229113b71846cbedf
@@ -47,7 +47,7 @@ module Habaki
47
47
  end
48
48
  return false unless sub_match
49
49
  else
50
- # STDERR.puts "unknown relation #{current_sub_selector.relation}"
50
+ # STDERR.puts "Habaki: unknown relation #{current_sub_selector.relation}"
51
51
  return false
52
52
  end
53
53
  else
@@ -12,12 +12,12 @@ module Habaki
12
12
  class SubSelector < Node
13
13
  # @return [Symbol]
14
14
  attr_accessor :match
15
- # @return [String]
15
+ # @return [QualifiedName]
16
16
  attr_accessor :tag
17
17
  # @return [Symbol]
18
18
  attr_accessor :pseudo
19
19
 
20
- # @return [String]
20
+ # @return [QualifiedName]
21
21
  attr_accessor :attribute
22
22
  # @return [String]
23
23
  attr_accessor :value
@@ -44,8 +44,7 @@ module Habaki
44
44
  when :tag
45
45
  tag_match?(element.tag_name, specificity)
46
46
  when :class
47
- classes_names = element.class_name ? element.class_name.split(" ") : [nil]
48
- classes_names.map{|p_class_name| class_match?(p_class_name, specificity)}.any?
47
+ element.class_names.any?{|p_class_name| class_match?(p_class_name, specificity)}
49
48
  when :id
50
49
  id_match?(element.id_name, specificity)
51
50
  when :pseudo_class
@@ -152,7 +151,8 @@ module Habaki
152
151
  when :not_parsed, :unknown
153
152
  true
154
153
  else
155
- # STDERR.puts "unsupported pseudo #{sub_sel.pseudo}"
154
+ # TODO
155
+ # STDERR.puts "Habaki: unsupported pseudo #{@pseudo}"
156
156
  false
157
157
  end, specificity, 10)
158
158
  end
@@ -12,6 +12,12 @@ module Habaki
12
12
  def class_name
13
13
  end
14
14
 
15
+ # element class names array
16
+ # @return [Array<String>]
17
+ def class_names
18
+ []
19
+ end
20
+
15
21
  # element id name
16
22
  # @return [String]
17
23
  def id_name
@@ -15,6 +15,10 @@ module Habaki
15
15
  @element["class"]
16
16
  end
17
17
 
18
+ def class_names
19
+ @element.classes
20
+ end
21
+
18
22
  def id_name
19
23
  @element["id"]
20
24
  end
@@ -37,13 +41,13 @@ module Habaki
37
41
 
38
42
  def children
39
43
  @element.children.map do |child|
40
- child.is_a?(Nokogiri::XML::Element) ? Visitor::NokogiriElement.new(child) : nil
44
+ child.element? ? Visitor::NokogiriElement.new(child) : nil
41
45
  end.compact
42
46
  end
43
47
 
44
48
  def traverse &block
45
49
  @element.traverse do |el|
46
- next unless el.is_a?(Nokogiri::XML::Element)
50
+ next unless el.element?
47
51
  block.call Visitor::NokogiriElement.new(el)
48
52
  end
49
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: habaki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien Boulnois
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-17 00:00:00.000000000 Z
11
+ date: 2022-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri