lib/osheet/row.rb in osheet-0.4.0 vs lib/osheet/row.rb in osheet-0.5.0

- old
+ new

@@ -1,39 +1,43 @@ require 'osheet/cell' module Osheet class Row + include Instance include Associations include WorkbookElement include WorksheetElement include StyledElement include MetaElement hm :cells def initialize(workbook=nil, worksheet=nil, *args, &block) - @workbook = workbook - @worksheet = worksheet - @height = nil - @autofit = false - @hidden = false - instance_exec(*args, &block) if block_given? + set_ivar(:workbook, workbook) + set_ivar(:worksheet, worksheet) + set_ivar(:height, nil) + set_ivar(:autofit, false) + set_ivar(:hidden, false) + if block_given? + set_binding_ivars(block.binding) + instance_exec(*args, &block) + end end def height(value=nil) - !value.nil? ? @height = value : @height + !value.nil? ? set_ivar(:height, value) : get_ivar(:height) end - def autofit(value); @autofit = !!value; end - def autofit?; @autofit; end - def hidden(value); @hidden = !!value; end - def hidden?; @hidden; end + def autofit(value); set_ivar(:autofit, !!value); end + def autofit?; get_ivar(:autofit); end + def hidden(value); set_ivar(:hidden, !!value); end + def hidden?; get_ivar(:hidden); end def attributes { - :style_class => @style_class, - :height => @height, - :autofit => @autofit, - :hidden => @hidden + :style_class => get_ivar(:style_class), + :height => get_ivar(:height), + :autofit => get_ivar(:autofit), + :hidden => get_ivar(:hidden) } end end end