Class: Prick::FeatureMigration
Constant Summary
collapse
- FEATURE_TMPL_DIR =
"features/feature"
- FILES =
[
MIGRATE_SQL = "migrate.sql",
DIFF_SQL = "diff.sql"
]
Constants inherited
from Migration
Migration::KEEP_FILE
Instance Attribute Summary collapse
Attributes inherited from Migration
#path
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Migration
#<=>, #destroy, feature?, #migrate, path, #to_s, version
Constructor Details
#initialize(path, name: File.basename(path)) ⇒ FeatureMigration
Returns a new instance of FeatureMigration.
182
183
184
185
186
187
188
189
190
|
# File 'lib/prick/migration.rb', line 182
def initialize(path, name: File.basename(path))
Migration.feature?(path) or raise "Expected a feature path, got #{path}"
super(path, FEATURE_TMPL_DIR)
@name = name
@version = Migration.version(path)
@release_migration = ReleaseMigration.new(File.dirname(path))
@migrate_sql = File.join(path, MIGRATE_SQL)
@diff_sql = File.join(path, DIFF_SQL)
end
|
Instance Attribute Details
#diff_sql ⇒ Object
Returns the value of attribute diff_sql.
169
170
171
|
# File 'lib/prick/migration.rb', line 169
def diff_sql
@diff_sql
end
|
#migrate_sql ⇒ Object
Returns the value of attribute migrate_sql.
168
169
170
|
# File 'lib/prick/migration.rb', line 168
def migrate_sql
@migrate_sql
end
|
#name ⇒ Object
Returns the value of attribute name.
164
165
166
|
# File 'lib/prick/migration.rb', line 164
def name
@name
end
|
#release_migration ⇒ Object
The enclosing release migration
166
167
168
|
# File 'lib/prick/migration.rb', line 166
def release_migration
@release_migration
end
|
#version ⇒ Object
Returns the value of attribute version.
165
166
167
|
# File 'lib/prick/migration.rb', line 165
def version
@version
end
|
Class Method Details
.files(path) ⇒ Object
209
210
211
|
# File 'lib/prick/migration.rb', line 209
def self.files(path)
release_files + FILES.map { |file| File.join(path, file) }
end
|
.release_files(path) ⇒ Object
213
214
215
|
# File 'lib/prick/migration.rb', line 213
def self.release_files(path)
ReleaseMigration.files(path)
end
|
Instance Method Details
#create ⇒ Object
193
194
195
196
|
# File 'lib/prick/migration.rb', line 193
def create()
release_migration.exist? || release_migration.create
super
end
|
#dump ⇒ Object
217
218
219
220
221
222
|
# File 'lib/prick/migration.rb', line 217
def dump
super {
puts "name: #{name}"
puts "release_migration: #{path}"
}
end
|
#exist? ⇒ Boolean
192
|
# File 'lib/prick/migration.rb', line 192
def exist?() release_migration.exist? && super end
|
#feature_paths ⇒ Object
180
|
# File 'lib/prick/migration.rb', line 180
def feature_paths() release_migration.feature_paths end
|
#feature_versions ⇒ Object
179
|
# File 'lib/prick/migration.rb', line 179
def feature_versions() release_migration.feature_versions end
|
#features_sql ⇒ Object
172
|
# File 'lib/prick/migration.rb', line 172
def features_sql() release_migration.features_sql end
|
#features_yml ⇒ Object
171
|
# File 'lib/prick/migration.rb', line 171
def features_yml() release_migration.features_yml end
|
#files ⇒ Object
176
|
# File 'lib/prick/migration.rb', line 176
def files() [migrate_sql, diff_sql] end
|
#include_feature(migration) ⇒ Object
205
206
207
|
# File 'lib/prick/migration.rb', line 205
def include_feature(migration)
release_migration.include_feature(migration, append: false)
end
|
#migrations_sql ⇒ Object
173
|
# File 'lib/prick/migration.rb', line 173
def migrations_sql() release_migration.migrations_sql end
|
#prepare ⇒ Object
199
200
201
202
203
|
# File 'lib/prick/migration.rb', line 199
def prepare()
release_migration.present? || release_migration.prepare
super
release_migration.append_features_yml([path])
end
|
#present? ⇒ Boolean
198
|
# File 'lib/prick/migration.rb', line 198
def present?() release_migration.present? && super end
|
#release_diff_sql ⇒ Object
174
|
# File 'lib/prick/migration.rb', line 174
def release_diff_sql() release_migration.diff_sql end
|
#release_files ⇒ Object
177
|
# File 'lib/prick/migration.rb', line 177
def release_files() release_migration.files end
|