Class: Migratrix::Migratrix
- Includes:
- Loggable
- Defined in:
- lib/migratrix/migratrix.rb
Class Method Summary collapse
-
.create_logger(stream) ⇒ Object
———————————————————————- Logger singleton; tries to hook into Rails.logger if it exists (it won’t if you log anything during startup because Migratrix is loaded before Rails).
- .extraction(class_name, extraction_name, options = {}) ⇒ Object
-
.extractions ⇒ Object
——————– extractions.
- .init_logger ⇒ Object
- .load(load_name, class_name, options = {}) ⇒ Object
-
.loads ⇒ Object
——————– loads.
- .log_to(stream) ⇒ Object
- .logger ⇒ Object
- .logger=(new_logger) ⇒ Object
- .register_extraction(class_name, klass, options = {}) ⇒ Object
- .register_load(name, klass, options = {}) ⇒ Object
- .register_transform(name, klass, options = {}) ⇒ Object
-
.registry ⇒ Object
———————————————————————- Candidate for exract class? MigrationRegistry?.
- .transform(transform_name, class_name, options = {}) ⇒ Object
-
.transforms ⇒ Object
——————– transforms.
Instance Method Summary collapse
-
#initialize ⇒ Migratrix
constructor
A new instance of Migratrix.
Constructor Details
#initialize ⇒ Migratrix
Returns a new instance of Migratrix.
7 8 |
# File 'lib/migratrix/migratrix.rb', line 7 def initialize end |
Class Method Details
.create_logger(stream) ⇒ Object
Logger singleton; tries to hook into Rails.logger if it exists (it won’t if you log anything during startup because Migratrix is loaded before Rails). To fix this, after rails start up call Migratrix::Migratrix.logger = Rails.logger
15 16 17 18 19 20 21 |
# File 'lib/migratrix/migratrix.rb', line 15 def self.create_logger(stream) logger = Logger.new(stream) logger.formatter = proc { |severity, datetime, progname, msg| "#{severity[0]} #{datetime.strftime('%F %H:%M:%S')}: #{msg}\n" } logger end |
.extraction(class_name, extraction_name, options = {}) ⇒ Object
59 60 61 |
# File 'lib/migratrix/migratrix.rb', line 59 def self.extraction(class_name, extraction_name, ={}) self.extractions.class_for(class_name).new(extraction_name, ) end |
.extractions ⇒ Object
extractions
51 52 53 |
# File 'lib/migratrix/migratrix.rb', line 51 def self.extractions registry[:extractions] end |
.init_logger ⇒ Object
27 28 29 30 |
# File 'lib/migratrix/migratrix.rb', line 27 def self.init_logger return Rails.logger if Rails.logger @logger = create_logger($stdout) end |
.load(load_name, class_name, options = {}) ⇒ Object
89 90 91 |
# File 'lib/migratrix/migratrix.rb', line 89 def self.load(load_name, class_name, ={}) self.loads.class_for(class_name).new(load_name, ) end |
.loads ⇒ Object
loads
81 82 83 |
# File 'lib/migratrix/migratrix.rb', line 81 def self.loads registry[:loads] end |
.log_to(stream) ⇒ Object
23 24 25 |
# File 'lib/migratrix/migratrix.rb', line 23 def self.log_to(stream) self.logger = self.create_logger(stream) end |
.logger ⇒ Object
32 33 34 |
# File 'lib/migratrix/migratrix.rb', line 32 def self.logger @logger ||= self.init_logger end |
.logger=(new_logger) ⇒ Object
36 37 38 |
# File 'lib/migratrix/migratrix.rb', line 36 def self.logger=(new_logger) @logger = new_logger end |
.register_extraction(class_name, klass, options = {}) ⇒ Object
55 56 57 |
# File 'lib/migratrix/migratrix.rb', line 55 def self.register_extraction(class_name, klass, ={}) self.extractions.register(class_name, klass, ) end |
.register_load(name, klass, options = {}) ⇒ Object
85 86 87 |
# File 'lib/migratrix/migratrix.rb', line 85 def self.register_load(name, klass, ={}) self.loads.register(name, klass, ) end |
.register_transform(name, klass, options = {}) ⇒ Object
70 71 72 |
# File 'lib/migratrix/migratrix.rb', line 70 def self.register_transform(name, klass, ={}) self.transforms.register(name, klass, ) end |
.registry ⇒ Object
Candidate for exract class? MigrationRegistry?
45 46 47 |
# File 'lib/migratrix/migratrix.rb', line 45 def self.registry @registry ||= Hash[[:extractions,:loads,:migrations,:transforms].map {|key| [key, Registry.new]}] end |
.transform(transform_name, class_name, options = {}) ⇒ Object
74 75 76 |
# File 'lib/migratrix/migratrix.rb', line 74 def self.transform(transform_name, class_name, ={}) self.transforms.class_for(class_name).new(transform_name, ) end |
.transforms ⇒ Object
transforms
66 67 68 |
# File 'lib/migratrix/migratrix.rb', line 66 def self.transforms registry[:transforms] end |