module Arborist::Migration::Data::ClassMethods
Attributes
model_ref[RW]
Public Instance Methods
data(*args, &migration)
click to toggle source
# File lib/arborist/migration/data.rb, line 14 def data *args, &migration data_migration = DataMigration.new *args, &migration self.collection ||= Collection.new self.collection[data_migration.direction] << data_migration end
model(*args)
click to toggle source
# File lib/arborist/migration/data.rb, line 21 def model *args model_args = ModelArguments.new args define_model_reference model_args.model_ref define_model_method model_args end
Private Instance Methods
config()
click to toggle source
# File lib/arborist/migration/data.rb, line 49 def config Arborist.config.migration end
define_model_method(model_args)
click to toggle source
# File lib/arborist/migration/data.rb, line 29 def define_model_method model_args define_method model_args.method_name do @_ref ||= {} @_ref[model_args] ||= begin ref = self.class.model_ref.fetch model_args.model_ref if Arborist.config.migration.reset_column_information ref.tap(&:reset_column_information) end end end end
define_model_reference(model_ref)
click to toggle source
# File lib/arborist/migration/data.rb, line 42 def define_model_reference model_ref self.model_ref ||= {} self.model_ref[model_ref] ||= Object.const_get model_ref rescue NameError config.fallback.new(model_ref).model end