Class: PrismChecker::ItemClassifier
- Inherits:
-
Object
- Object
- PrismChecker::ItemClassifier
- Defined in:
- lib/prism_checker/item_classifier.rb
Class Method Summary collapse
- .add(type, probe, position = 0) ⇒ Object
- .array?(element) ⇒ Boolean
- .boolean?(element) ⇒ Boolean
- .classify(element) ⇒ Object
- .element?(element) ⇒ Boolean
- .element_checkbox?(element) ⇒ Boolean
- .element_image?(element) ⇒ Boolean
- .element_input?(element) ⇒ Boolean
- .element_nil?(element) ⇒ Boolean
- .element_radio?(element) ⇒ Boolean
- .element_select?(element) ⇒ Boolean
- .element_textarea?(element) ⇒ Boolean
- .elements?(element) ⇒ Boolean
- .page?(element) ⇒ Boolean
- .section?(element) ⇒ Boolean
- .sections?(element) ⇒ Boolean
- .string?(element) ⇒ Boolean
Class Method Details
.add(type, probe, position = 0) ⇒ Object
122 123 124 |
# File 'lib/prism_checker/item_classifier.rb', line 122 def self.add(type, probe, position = 0) @elements_map.insert(position, [type, probe]) end |
.array?(element) ⇒ Boolean
61 62 63 |
# File 'lib/prism_checker/item_classifier.rb', line 61 def self.array?(element) element.is_a?(::Array) end |
.boolean?(element) ⇒ Boolean
111 112 113 114 115 116 |
# File 'lib/prism_checker/item_classifier.rb', line 111 def self.boolean?(element) return true if element.is_a?(TrueClass) return true if element.is_a?(FalseClass) false end |
.classify(element) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/prism_checker/item_classifier.rb', line 23 def self.classify(element) @elements_map.each do |data| type = data[0] probe = data[1] if probe.is_a? Symbol return type if send(probe, element) elsif probe.call(element) return type end end :other end |
.element?(element) ⇒ Boolean
51 52 53 |
# File 'lib/prism_checker/item_classifier.rb', line 51 def self.element?(element) element.is_a?(::Node::Element) end |
.element_checkbox?(element) ⇒ Boolean
97 98 99 100 101 102 |
# File 'lib/prism_checker/item_classifier.rb', line 97 def self.element_checkbox?(element) return false unless element?(element) return false unless element['type'] == 'checkbox' true end |
.element_image?(element) ⇒ Boolean
69 70 71 72 73 74 |
# File 'lib/prism_checker/item_classifier.rb', line 69 def self.element_image?(element) return false unless element?(element) return false unless element.tag_name == 'img' true end |
.element_input?(element) ⇒ Boolean
76 77 78 79 80 81 |
# File 'lib/prism_checker/item_classifier.rb', line 76 def self.element_input?(element) return false unless element?(element) return false unless element.tag_name == 'input' true end |
.element_nil?(element) ⇒ Boolean
118 119 120 |
# File 'lib/prism_checker/item_classifier.rb', line 118 def self.element_nil?(element) element.nil? end |
.element_radio?(element) ⇒ Boolean
104 105 106 107 108 109 |
# File 'lib/prism_checker/item_classifier.rb', line 104 def self.element_radio?(element) return false unless element?(element) return false unless element['type'] == 'radio' true end |
.element_select?(element) ⇒ Boolean
90 91 92 93 94 95 |
# File 'lib/prism_checker/item_classifier.rb', line 90 def self.element_select?(element) return false unless element?(element) return false unless element.tag_name == 'select' true end |
.element_textarea?(element) ⇒ Boolean
83 84 85 86 87 88 |
# File 'lib/prism_checker/item_classifier.rb', line 83 def self.element_textarea?(element) return false unless element?(element) return false unless element.tag_name == 'textarea' true end |
.elements?(element) ⇒ Boolean
55 56 57 58 59 |
# File 'lib/prism_checker/item_classifier.rb', line 55 def self.elements?(element) element.all?(::Node::Element) rescue StandardError false end |
.page?(element) ⇒ Boolean
37 38 39 |
# File 'lib/prism_checker/item_classifier.rb', line 37 def self.page?(element) element.is_a?(SitePrism::Page) end |
.section?(element) ⇒ Boolean
41 42 43 |
# File 'lib/prism_checker/item_classifier.rb', line 41 def self.section?(element) element.is_a?(SitePrism::Section) end |
.sections?(element) ⇒ Boolean
45 46 47 48 49 |
# File 'lib/prism_checker/item_classifier.rb', line 45 def self.sections?(element) element.all?(SitePrism::Section) rescue StandardError false end |
.string?(element) ⇒ Boolean
65 66 67 |
# File 'lib/prism_checker/item_classifier.rb', line 65 def self.string?(element) element.is_a?(::String) end |