class Spread2RDF::Schema::Sheet::DSL
Public Class Methods
new(spreadsheet_dsl, worksheet, filename, &block)
click to toggle source
# File lib/spread2rdf/schema/sheet_dsl.rb, line 5 def initialize(spreadsheet_dsl, worksheet, filename, &block) @spreadsheet_dsl = spreadsheet_dsl @worksheet = worksheet @filename = filename instance_exec(&block) if block_given? end
Public Instance Methods
cell(coord, options = {}, &block)
click to toggle source
# File lib/spread2rdf/schema/sheet_dsl.rb, line 26 def cell(coord, options = {}, &block) content = ROO.cell(coord, @worksheet.source_name) content = block.call(content) if block_given? content end
column(name, options={}, &block)
click to toggle source
# File lib/spread2rdf/schema/sheet_dsl.rb, line 12 def column(name, options={}, &block) name = name.to_sym column = @worksheet.column[name] ||= Column.new(@worksheet, &block) column.update_attributes options.merge(name: name) column # TODO: chaining logic ...? end
column_block(name, options={}, &block)
click to toggle source
# File lib/spread2rdf/schema/sheet_dsl.rb, line 19 def column_block(name, options={}, &block) name = name.to_sym sub_sheet = @worksheet.column[name] ||= ColumnBlock.new(@worksheet) sub_sheet.update_attributes options.merge(name: name) DSL.new(@spreadsheet_dsl, sub_sheet, @filename, &block) end
include(template, *args)
click to toggle source
# File lib/spread2rdf/schema/sheet_dsl.rb, line 32 def include(template, *args) instance_exec(*args, &__template__(template)) end
method_missing(name, *args)
click to toggle source
Calls superclass method
# File lib/spread2rdf/schema/sheet_dsl.rb, line 47 def method_missing(name, *args) __template__(name) or __cell_mapping__(name) or super end
Private Instance Methods
__cell_mapping__(name)
click to toggle source
# File lib/spread2rdf/schema/sheet_dsl.rb, line 41 def __cell_mapping__(name) @spreadsheet_dsl.instance_variable_get(:@cell_mappings)[name] or Mapping::Cell::Default.method(name).to_proc end
__template__(name)
click to toggle source
# File lib/spread2rdf/schema/sheet_dsl.rb, line 36 def __template__(name) @spreadsheet_dsl.instance_variable_get(:@templates)[name] end