class Spread2RDF::Schema::Spreadsheet::DSL
Public Class Methods
new(schema, filename)
click to toggle source
# File lib/spread2rdf/schema/spreadsheet_dsl.rb, line 6 def initialize(schema, filename) @schema = schema @filename = filename @templates = {} @cell_mappings = {} end
Public Instance Methods
cell_mapping(name, &block)
click to toggle source
# File lib/spread2rdf/schema/spreadsheet_dsl.rb, line 30 def cell_mapping(name, &block) raise "required block for cell_mapping #{name} missing" unless block_given? @cell_mappings[name.to_sym] = block end
method_missing(name, *args)
click to toggle source
Calls superclass method
# File lib/spread2rdf/schema/spreadsheet_dsl.rb, line 35 def method_missing(name, *args) @templates[name] or super end
namespaces(namespaces)
click to toggle source
# File lib/spread2rdf/schema/spreadsheet_dsl.rb, line 13 def namespaces(namespaces) namespaces.each { |name, namespace| Namespace[name] = namespace } end
template(name, &block)
click to toggle source
# File lib/spread2rdf/schema/spreadsheet_dsl.rb, line 25 def template(name, &block) raise "required block for template #{name} missing" unless block_given? @templates[name.to_sym] = block end
worksheet(name, options={}, &block)
click to toggle source
# File lib/spread2rdf/schema/spreadsheet_dsl.rb, line 17 def worksheet(name, options={}, &block) source_name = options[:source_name] = name name = ( options.delete(:name) || source_name ).to_sym worksheet = @schema.worksheet[name] ||= Worksheet.new(@schema) worksheet.update_attributes options.merge(name: name, source_name: source_name) Sheet::DSL.new(self, worksheet, @filename, &block) end