Sha256: 2b93ad039563a8dd46bd78ab746573c47e6ee9369916937b452e38a624d547f9

Contents?: true

Size: 1.01 KB

Versions: 7

Compression:

Stored size: 1.01 KB

Contents

module Osheet
  class Column
    include Instance
    include WorkbookElement
    include WorksheetElement
    include StyledElement
    include MetaElement
    include MarkupElement

    def initialize(workbook=nil, worksheet=nil, *args, &block)
      set_ivar(:workbook, workbook)
      set_ivar(:worksheet, worksheet)
      set_ivar(:width, nil)
      set_ivar(:autofit, false)
      set_ivar(:hidden, false)
      if block_given?
        set_binding_ivars(block.binding)
        instance_exec(*args, &block)
      end
    end

    def width(value=nil)
      !value.nil? ? set_ivar(:width, value) : get_ivar(:width)
    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 => get_ivar(:style_class),
        :width => get_ivar(:width),
        :autofit => get_ivar(:autofit),
        :hidden => get_ivar(:hidden)
      }
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
osheet-0.10.0 lib/osheet/column.rb
osheet-0.9.2 lib/osheet/column.rb
osheet-0.9.1 lib/osheet/column.rb
osheet-0.9.0 lib/osheet/column.rb
osheet-0.8.0 lib/osheet/column.rb
osheet-0.7.0 lib/osheet/column.rb
osheet-0.6.0 lib/osheet/column.rb