Module Spreadsheet::Excel::Offset
In: lib/spreadsheet/excel/offset.rb
Column Format Row Font Enumerable Worksheet\n[lib/spreadsheet/excel.rb\nlib/spreadsheet/worksheet.rb] Link Workbook Workbook\n[lib/spreadsheet/excel.rb\nlib/spreadsheet/excel/workbook.rb] SstEntry String Row Array Worksheet ExcelCompatibleWorkbook Format Worksheet Workbook DelegateClassSpreadsheet::Format Writer Compatibility Formula Reader\n[lib/parseexcel/parseexcel.rb\nlib/spreadsheet/excel/reader.rb\nlib/spreadsheet/excel/reader/biff5.rb\nlib/spreadsheet/excel/reader/biff8.rb] Error lib/spreadsheet/excel.rb lib/spreadsheet/link.rb lib/spreadsheet/formula.rb lib/spreadsheet/workbook.rb lib/spreadsheet/font.rb lib/spreadsheet/column.rb lib/spreadsheet/format.rb lib/spreadsheet/writer.rb lib/spreadsheet/row.rb Encodings lib/spreadsheet/excel.rb lib/spreadsheet/excel/row.rb lib/spreadsheet/excel/reader/biff5.rb lib/spreadsheet/excel/worksheet.rb lib/spreadsheet/excel/sst_entry.rb lib/spreadsheet/excel/error.rb lib/spreadsheet/excel/workbook.rb lib/spreadsheet/excel/writer/format.rb lib/spreadsheet/excel/writer/workbook.rb lib/spreadsheet/excel/writer/worksheet.rb Biff8 Writer Biff5 Biff8 Internals Offset Excel Datatypes ParseExcel Compatibility Spreadsheet dot/m_34_0.png

This module is used to keep track of offsets in modified Excel documents. Considered internal and subject to change without notice.

Methods

append_features   new   offset  

Included Modules

Compatibility Compatibility

Attributes

changes  [R] 
offsets  [R] 

Public Class methods

[Source]

    # File lib/spreadsheet/excel/offset.rb, line 16
16:   def Offset.append_features mod
17:     super
18:     mod.module_eval do
19:       class << self
20:         include Compatibility
21:         def offset *keys
22:           keys.each do |key|
23:             attr_reader key unless instance_methods.include? method_name(key)
24:             define_method "#{key}=" do |value|
25:               @changes.store key, true
26:               instance_variable_set ivar_name(key), value
27:             end
28:             define_method "set_#{key}" do |value, pos, len|
29:               instance_variable_set ivar_name(key), value
30:               @offsets.store key, [pos, len]
31:               havename = "have_set_#{key}"
32:               send(havename, value, pos, len) if respond_to? havename
33:             end
34:           end
35:         end
36:       end
37:     end
38:   end

[Source]

    # File lib/spreadsheet/excel/offset.rb, line 11
11:   def initialize *args
12:     super
13:     @changes = {}
14:     @offsets = {}
15:   end

[Source]

    # File lib/spreadsheet/excel/offset.rb, line 21
21:         def offset *keys
22:           keys.each do |key|
23:             attr_reader key unless instance_methods.include? method_name(key)
24:             define_method "#{key}=" do |value|
25:               @changes.store key, true
26:               instance_variable_set ivar_name(key), value
27:             end
28:             define_method "set_#{key}" do |value, pos, len|
29:               instance_variable_set ivar_name(key), value
30:               @offsets.store key, [pos, len]
31:               havename = "have_set_#{key}"
32:               send(havename, value, pos, len) if respond_to? havename
33:             end
34:           end
35:         end

[Validate]