Module: MicroMicro::Helpers
- Defined in:
- lib/micro_micro/helpers.rb
Class Method Summary collapse
- .attribute_value_from(node, attributes_map) ⇒ String?
- .ignore_node?(node) ⇒ Boolean
- .ignore_nodes?(nodes) ⇒ Boolean
- .item_node?(node) ⇒ Boolean
- .item_nodes?(nodes) ⇒ Boolean
- .property_class_names_from(node) ⇒ Array<String>
- .property_node?(node) ⇒ Boolean
- .root_class_names_from(node) ⇒ Array<String>
- .text_content_from(context) {|context| ... } ⇒ String
- .value_class_node?(node) ⇒ Boolean
- .value_title_node?(node) ⇒ Boolean
Class Method Details
.attribute_value_from(node, attributes_map) ⇒ String?
12 13 14 15 16 |
# File 'lib/micro_micro/helpers.rb', line 12 def self.attribute_value_from(node, attributes_map) attributes_map .filter_map { |attribute, names| node[attribute] if names.include?(node.name) && node[attribute] } .first end |
.ignore_node?(node) ⇒ Boolean
20 21 22 |
# File 'lib/micro_micro/helpers.rb', line 20 def self.ignore_node?(node) IGNORED_NODE_NAMES.include?(node.name) end |
.ignore_nodes?(nodes) ⇒ Boolean
26 27 28 |
# File 'lib/micro_micro/helpers.rb', line 26 def self.ignore_nodes?(nodes) (nodes.map(&:name) & IGNORED_NODE_NAMES).any? end |
.item_node?(node) ⇒ Boolean
32 33 34 |
# File 'lib/micro_micro/helpers.rb', line 32 def self.item_node?(node) root_class_names_from(node).any? end |
.item_nodes?(nodes) ⇒ Boolean
38 39 40 |
# File 'lib/micro_micro/helpers.rb', line 38 def self.item_nodes?(nodes) nodes.filter_map { |node| item_node?(node) }.any? end |
.property_class_names_from(node) ⇒ Array<String>
44 45 46 |
# File 'lib/micro_micro/helpers.rb', line 44 def self.property_class_names_from(node) node.classes.grep(/^(?:dt|e|p|u)(?:-[0-9a-z]+)?(?:-[a-z]+)+$/).uniq end |
.property_node?(node) ⇒ Boolean
50 51 52 |
# File 'lib/micro_micro/helpers.rb', line 50 def self.property_node?(node) property_class_names_from(node).any? end |
.root_class_names_from(node) ⇒ Array<String>
56 57 58 |
# File 'lib/micro_micro/helpers.rb', line 56 def self.root_class_names_from(node) Set[*node.classes.grep(/^h(?:-[0-9a-z]+)?(?:-[a-z]+)+$/)].to_a.sort end |
.text_content_from(context) {|context| ... } ⇒ String
68 69 70 71 72 73 74 |
# File 'lib/micro_micro/helpers.rb', line 68 def self.text_content_from(context) context.css(*IGNORED_NODE_NAMES).unlink yield(context) if block_given? context.text.strip end |
.value_class_node?(node) ⇒ Boolean
81 82 83 |
# File 'lib/micro_micro/helpers.rb', line 81 def self.value_class_node?(node) node.classes.include?("value") end |
.value_title_node?(node) ⇒ Boolean
90 91 92 |
# File 'lib/micro_micro/helpers.rb', line 90 def self.value_title_node?(node) node.classes.include?("value-title") end |