Class: DataKeeper::DefinitionBuilder
- Inherits:
-
Object
- Object
- DataKeeper::DefinitionBuilder
- Defined in:
- lib/data_keeper/definition.rb
Instance Method Summary collapse
- #evaluate! ⇒ Object
-
#initialize(type, definition_block) ⇒ DefinitionBuilder
constructor
A new instance of DefinitionBuilder.
- #on_after_load(&block) ⇒ Object
- #sql(table, name, &block) ⇒ Object
- #table(name) ⇒ Object
Constructor Details
#initialize(type, definition_block) ⇒ DefinitionBuilder
Returns a new instance of DefinitionBuilder.
29 30 31 32 33 34 35 36 37 |
# 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 @on_after_load_block = nil end |
Instance Method Details
#evaluate! ⇒ Object
39 40 41 42 43 44 45 46 |
# File 'lib/data_keeper/definition.rb', line 39 def evaluate! @definition ||= begin instance_eval(&@definition_block) if @definition_block Definition.new(@type, @tables, @raw_sqls, @on_after_load_block) end end |
#on_after_load(&block) ⇒ Object
60 61 62 |
# File 'lib/data_keeper/definition.rb', line 60 def on_after_load(&block) @on_after_load_block = block end |
#sql(table, name, &block) ⇒ Object
54 55 56 57 58 |
# File 'lib/data_keeper/definition.rb', line 54 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) ⇒ Object
48 49 50 51 52 |
# File 'lib/data_keeper/definition.rb', line 48 def table(name) raise InvalidDumpDefinition if @type == :full raise(InvalidDumpDefinition, "table already defined") if @tables.include?(name) @tables << name end |