Class: Prick::Migration
- Inherits:
-
Object
show all
- Defined in:
- lib/prick/migration.rb
Constant Summary
collapse
- KEEP_FILE =
".keep"
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(path, template_dir) ⇒ Migration
Returns a new instance of Migration.
16
17
18
19
|
# File 'lib/prick/migration.rb', line 16
def initialize(path, template_dir)
@path = path
@template_dir = template_dir
end
|
Instance Attribute Details
#path ⇒ Object
Returns the value of attribute path.
8
9
10
|
# File 'lib/prick/migration.rb', line 8
def path
@path
end
|
Class Method Details
.feature?(path) ⇒ Boolean
47
48
49
|
# File 'lib/prick/migration.rb', line 47
def self.feature?(path)
Version.new(path.delete_prefix("#{FEATURE_DIR}/").sub("/", "_")).feature?
end
|
.files(path) ⇒ Object
51
|
# File 'lib/prick/migration.rb', line 51
def self.files(path) raise AbstractMethod end
|
.path(version) ⇒ Object
35
36
37
38
39
40
41
|
# File 'lib/prick/migration.rb', line 35
def self.path(version)
if version.feature?
File.join(FEATURE_DIR, version.truncate(:feature).to_s, version.feature)
else
File.join(FEATURE_DIR, version)
end
end
|
.release_files(path) ⇒ Object
52
|
# File 'lib/prick/migration.rb', line 52
def self.release_files(path) files(path) end
|
.version(path) ⇒ Object
43
44
45
|
# File 'lib/prick/migration.rb', line 43
def self.version(path)
Version.new(path.delete_prefix("#{FEATURE_DIR}/").sub("/", "_"))
end
|
Instance Method Details
#<=>(other) ⇒ Object
33
|
# File 'lib/prick/migration.rb', line 33
def <=>(other) path <=> other.path end
|
#destroy ⇒ Object
23
|
# File 'lib/prick/migration.rb', line 23
def destroy() Git.rm_rf(path) end
|
#dump(&block) ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/prick/migration.rb', line 54
def dump(&block)
end
|
#exist? ⇒ Boolean
21
|
# File 'lib/prick/migration.rb', line 21
def exist?() File.exist?(keep_file) end
|
#feature_versions ⇒ Object
Return versions of the features in this migration
14
|
# File 'lib/prick/migration.rb', line 14
def feature_versions() raise AbstractMethod end
|
#files ⇒ Object
10
|
# File 'lib/prick/migration.rb', line 10
def files() raise AbstractMethod end
|
#include_feature(feature) ⇒ Object
28
|
# File 'lib/prick/migration.rb', line 28
def include_feature(feature) raise AbstractMethod end
|
#migrate ⇒ Object
30
|
# File 'lib/prick/migration.rb', line 30
def migrate() raise AbstractMethod end
|
#prepare ⇒ Object
26
|
# File 'lib/prick/migration.rb', line 26
def prepare() files.each { |f| FileUtils.cp(template_file(f), path) }; Git.add(path) end
|
#present? ⇒ Boolean
25
|
# File 'lib/prick/migration.rb', line 25
def present?() exist? && files.all? { |f| File.exist?(f) } end
|
#release_files ⇒ Object
11
|
# File 'lib/prick/migration.rb', line 11
def release_files() files end
|
#to_s ⇒ Object
32
|
# File 'lib/prick/migration.rb', line 32
def to_s() path end
|