Class: Reactor::Migration
- Inherits:
-
Object
- Object
- Reactor::Migration
- Defined in:
- lib/reactor/migration.rb
Constant Summary collapse
- METHODS =
{ create_obj: Plans::CreateObj, delete_obj: Plans::DeleteObj, update_obj: Plans::UpdateObj, create_class: Plans::CreateObjClass, delete_class: Plans::DeleteObjClass, update_class: Plans::UpdateObjClass, rename_class: Plans::RenameObjClass, create_attribute: Plans::CreateAttribute, delete_attribute: Plans::DeleteAttribute, update_attribute: Plans::UpdateAttribute, create_attribute_group: Plans::CreateAttributeGroup, delete_attribute_group: Plans::DeleteAttributeGroup, update_attribute_group: Plans::UpdateAttributeGroup, create_group: Plans::CreateGroup, delete_group: Plans::DeleteGroup, update_group: Plans::UpdateGroup, rename_group: Plans::RenameGroup, create_channel: Plans::CreateChannel, delete_channel: Plans::DeleteChannel, create_job: Plans::CreateJob, delete_job: Plans::DeleteJob, update_job: Plans::UpdateJob }.freeze
Class Method Summary collapse
- .contained ⇒ Object
- .contains(*args) ⇒ Object
- .init(name, *args) ⇒ Object
- .method_missing(name, *args, &block) ⇒ Object
- .migrate(instance) ⇒ Object
- .plan(instance, &block) ⇒ Object
- .prepare(instance) ⇒ Object
- .respond_to?(name) ⇒ Boolean
Class Method Details
.contained ⇒ Object
74 75 76 |
# File 'lib/reactor/migration.rb', line 74 def self.contained @contained || [] end |
.contains(*args) ⇒ Object
66 67 68 69 70 71 72 |
# File 'lib/reactor/migration.rb', line 66 def self.contains(*args) @contained ||= [] args.flatten.each do |arg| migration_num = arg.to_i.to_s @contained << migration_num end end |
.init(name, *args) ⇒ Object
78 79 80 |
# File 'lib/reactor/migration.rb', line 78 def self.init(name, *args) METHODS[name.to_sym].new(*args) end |
.method_missing(name, *args, &block) ⇒ Object
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/reactor/migration.rb', line 51 def self.method_missing(name, *args, &block) if METHODS.key? name.to_sym instance = init(name, *args) plan(instance, &block) prepare(instance) migrate(instance) else super(name, *args, &block) end end |
.migrate(instance) ⇒ Object
90 91 92 |
# File 'lib/reactor/migration.rb', line 90 def self.migrate(instance) instance.migrate! end |
.plan(instance, &block) ⇒ Object
82 83 84 |
# File 'lib/reactor/migration.rb', line 82 def self.plan(instance, &block) instance.instance_eval(&block) if block_given? end |
.prepare(instance) ⇒ Object
86 87 88 |
# File 'lib/reactor/migration.rb', line 86 def self.prepare(instance) instance.prepare! if instance.respond_to? :prepare! end |
.respond_to?(name) ⇒ Boolean
62 63 64 |
# File 'lib/reactor/migration.rb', line 62 def self.respond_to?(name) METHODS.key?(name.to_sym) || super(name) end |