Class: Onoma::Migrator
- Inherits:
-
Object
- Object
- Onoma::Migrator
- Defined in:
- lib/onoma/migration.rb
Overview
Migrator is a tool class to launch migrations
Instance Attribute Summary collapse
-
#database_path ⇒ Object
Returns the value of attribute database_path.
-
#migrations_path ⇒ Object
Returns the value of attribute migrations_path.
Class Method Summary collapse
Instance Method Summary collapse
- #connection ⇒ Object
-
#initialize(database_path, migrations_path) ⇒ Migrator
constructor
A new instance of Migrator.
- #migrate ⇒ Object
-
#migrations ⇒ Object
Returns list of Onoma::Migration.
-
#missing_migrations ⇒ Object
Returns list of migrations since last done.
Constructor Details
#initialize(database_path, migrations_path) ⇒ Migrator
Returns a new instance of Migrator.
89 90 91 92 |
# File 'lib/onoma/migration.rb', line 89 def initialize(database_path, migrations_path) @database_path = database_path @migrations_path = migrations_path end |
Instance Attribute Details
#database_path ⇒ Object
Returns the value of attribute database_path.
87 88 89 |
# File 'lib/onoma/migration.rb', line 87 def database_path @database_path end |
#migrations_path ⇒ Object
Returns the value of attribute migrations_path.
87 88 89 |
# File 'lib/onoma/migration.rb', line 87 def migrations_path @migrations_path end |
Class Method Details
.migrate ⇒ Object
82 83 84 |
# File 'lib/onoma/migration.rb', line 82 def migrate Onoma::Migrator.new(Onoma.reference_path, Onoma.migrations_path).migrate end |
Instance Method Details
#connection ⇒ Object
116 117 118 |
# File 'lib/onoma/migration.rb', line 116 def connection @connection ||= Database.open(@database_path) end |
#migrate ⇒ Object
109 110 111 112 113 114 |
# File 'lib/onoma/migration.rb', line 109 def migrate missing_migrations.each do |migration| migration.migrate(connection) end connection.write end |
#migrations ⇒ Object
Returns list of Onoma::Migration
95 96 97 98 99 |
# File 'lib/onoma/migration.rb', line 95 def migrations Dir.glob(@migrations_path.join('*.xml')).sort.collect do |f| Onoma::Migration.parse(Pathname.new(f)) end end |
#missing_migrations ⇒ Object
Returns list of migrations since last done
102 103 104 105 106 107 |
# File 'lib/onoma/migration.rb', line 102 def missing_migrations last_version = connection.version migrations.select do |m| m.number > last_version end end |