Module: Extractors::Common
- Included in:
- CapybaraPageObject::Base, PageLevel
- Defined in:
- lib/extractors/common.rb
Instance Method Summary collapse
- #all(*args) ⇒ Object
- #data ⇒ Object
- #extract(element, attr = {}, page_object_class = nil) ⇒ Object
- #find(*args) ⇒ Object
Instance Method Details
#all(*args) ⇒ Object
41 42 43 |
# File 'lib/extractors/common.rb', line 41 def all(*args) source.all(*args) end |
#data ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/extractors/common.rb', line 32 def data r = {} native.attributes.each do |k, v| next unless k.start_with?('data-') r[k.gsub('data-', '')] = v.value end r end |
#extract(element, attr = {}, page_object_class = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/extractors/common.rb', line 4 def extract(element, attr={}, page_object_class=nil) by = attr[:by] keys = attr[:keys] if keys r = [] all(element).each do |t| r << t[keys] end r elsif by r = {} all(element).each do |t| if page_object_class r[t[by]] = page_object_class.new(t) else r[t[by]] = t end end r else if page_object_class all(element).collect{ |e| page_object_class.new(e) } else all(element).collect end end end |
#find(*args) ⇒ Object
45 46 47 |
# File 'lib/extractors/common.rb', line 45 def find(*args) source.find(*args) end |