lib/watircraft/table.rb in bret-watircraft-0.4.5 vs lib/watircraft/table.rb in bret-watircraft-0.5.0

- old
+ new

@@ -23,27 +23,41 @@ row_value = wrapped.send(method) rescue next return wrapped if row_value == target_value end nil end + def fields + self.class.row_class.fields.map &:to_s + end + def elements + self.class.row_class.elements.map &:to_s + end end class Row class << self def element name, &block + elements << name define_method(name) do instance_eval &block end end + def elements # :nodoc: + @elements ||= [] + end def field name, &block + fields << name element_name = "#{name}_field" element element_name, &block define_method(name) do send(element_name).display_value end define_method("#{name}=") do | value | send(element_name).set value end + end + def fields # :nodoc: + @fields ||= [] end end attr_reader :row def initialize watir_row @row = watir_row \ No newline at end of file