Sha256: 61404ac61e0c0c863a02a93a83072e5de6a44df6de622a971c8115a1a6855574

Contents?: true

Size: 1011 Bytes

Versions: 1

Compression:

Stored size: 1011 Bytes

Contents

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

    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

1 entries across 1 versions & 1 rubygems

Version Path
osheet-0.5.0 lib/osheet/column.rb