class ReplaceNamedReferencesAst
Attributes
default_sheet_name[RW]
named_references[RW]
table_data[RW]
Public Class Methods
new(named_references, default_sheet_name = nil, table_data = {})
click to toggle source
# File src/simplify/replace_named_references.rb, line 40 def initialize(named_references, default_sheet_name = nil, table_data = {}) @named_references, @default_sheet_name, @table_data = named_references, default_sheet_name, table_data @named_references = NamedReferences.new(@named_references, @table_data) unless @named_references.is_a?(NamedReferences) end
Public Instance Methods
map(ast)
click to toggle source
# File src/simplify/replace_named_references.rb, line 45 def map(ast) return ast unless ast.is_a?(Array) case ast[0] when :sheet_reference; sheet_reference(ast) when :named_reference; named_reference(ast) end ast.each { |a| map(a) } ast end
named_reference(ast)
click to toggle source
Format [:named_reference, name]
# File src/simplify/replace_named_references.rb, line 64 def named_reference(ast) ast.replace(named_references.reference_for(default_sheet_name, ast[1])) end
sheet_reference(ast)
click to toggle source
Format [:sheet_reference, sheet, reference]
# File src/simplify/replace_named_references.rb, line 56 def sheet_reference(ast) reference = ast[2] return unless reference.first == :named_reference sheet = ast[1] ast.replace(named_references.reference_for(sheet, reference.last)) end