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