Sha256: 596ef31e902c12c1451ebf677a1ac6897f646a1fb9868ac27d4fe2eb77d77a14
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
module PageObject module IndexedProperties class TableOfElements include PageObject def initialize (browser, identifier_list) initialize_browser(browser) @identifier_list = identifier_list @indexed_property_class = Class.new { include PageObject extend Accessors def initialize (browser, index, identifier_list) initialize_browser(browser) identifier_list.each do |identifier| type = identifier[0] name = identifier[1] how_and_what = identifier[2].clone # Cannot modify the original... how_and_what.each do |key, value| next if value.is_a? Regexp # Cannot format Regexp with % if key == :index how_and_what[key] = (value % index).to_i elsif key == :frame how_and_what[key] = value #passthrough frame without modification else how_and_what[key] = value % index end end self.class.send type, name, how_and_what unless Class.instance_methods.include? name end end } end def [] (index) @indexed_property_class.new(@browser, index, @identifier_list) end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
centric_page_object-2.3.1 | lib/page-object/indexed_properties.rb |
page-object-2.3.1 | lib/page-object/indexed_properties.rb |
page-object-2.3.0 | lib/page-object/indexed_properties.rb |