class DataKeeper::DefinitionBuilder
Public Class Methods
new(type, definition_block)
click to toggle source
# File lib/data_keeper/definition.rb, line 29 def initialize(type, definition_block) raise InvalidDumpType, "Invalid type! use :partial or :full" unless [:partial, :full].include?(type) @type = type @tables = [] @raw_sqls = {} @definition_block = definition_block end
Public Instance Methods
evaluate!()
click to toggle source
# File lib/data_keeper/definition.rb, line 38 def evaluate! instance_eval(&@definition_block) if @definition_block Definition.new(@type, @tables, @raw_sqls, @on_after_load_block) end
on_after_load(&block)
click to toggle source
# File lib/data_keeper/definition.rb, line 56 def on_after_load(&block) @on_after_load_block = block end
sql(table, name, &block)
click to toggle source
# File lib/data_keeper/definition.rb, line 50 def sql(table, name, &block) raise InvalidDumpDefinition if @type == :full raise(InvalidDumpDefinition, "sql already defined") if @raw_sqls.key?(name) @raw_sqls[name] = [table, block] end
table(name)
click to toggle source
# File lib/data_keeper/definition.rb, line 44 def table(name) raise InvalidDumpDefinition if @type == :full raise(InvalidDumpDefinition, "table already defined") if @tables.include?(name) @tables << name end