Module | Spreadsheet::Excel::Offset |
In: |
lib/spreadsheet/excel/offset.rb
|
This module is used to keep track of offsets in modified Excel documents. Considered internal and subject to change without notice.
changes | [R] | |
offsets | [R] |
# 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
# File lib/spreadsheet/excel/offset.rb, line 11 11: def initialize *args 12: super 13: @changes = {} 14: @offsets = {} 15: end
# 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