Class: Prick::Prerelease

Inherits:
AbstractRelease show all
Defined in:
lib/prick/build.rb

Overview

TODO: Rename to PreRelease

Direct Known Subclasses

MigrationPrerelease

Instance Attribute Summary collapse

Attributes inherited from AbstractRelease

#archive, #node

Attributes inherited from Build

#database, #migration, #project, #schema, #version

Instance Method Summary collapse

Methods inherited from AbstractRelease

#<=>, #cache, #cached?, #dump, #load, #loaded?, #prepare, #tag, #uncache, #unload

Methods inherited from Build

#<=>, #active?, #base_release, #build, #built?, #checkback, #checkout, deref_node_file, #destroy, #exist?, #features, #history, #include_feature, #name, #node, #present?, #rebuild, #remove_feature, #snapshot, #to_s

Methods included from Ensure

#ensure_state, #ensure_state_value, #revoke_state

Constructor Details

#initialize(project, base_release, version, target_version = version.truncate(:pre)) ⇒ Prerelease

Returns a new instance of Prerelease.



276
277
278
279
280
# File 'lib/prick/build.rb', line 276

def initialize(project, base_release, version, target_version = version.truncate(:pre))
  @target_release = Release.new(project, base_release, target_version)
  migration = ReleaseMigration.new(target_release.migration.path)
  super(project, base_release, version, migration)
end

Instance Attribute Details

#target_releaseObject (readonly)

Returns the value of attribute target_release.



272
273
274
# File 'lib/prick/build.rb', line 272

def target_release
  @target_release
end

Instance Method Details

#createObject

Create the pre-release in Git and on disk



283
284
285
286
287
288
289
# File 'lib/prick/build.rb', line 283

def create
  super
  migration.prepare
  Git.commit("Pre-release #{version}")
  dump
  self
end

#prepare_migrationObject

Create a migration for this release



292
293
294
295
# File 'lib/prick/build.rb', line 292

def prepare_migration
  base_release.built? or raise "Base release #{base_release} is not built"
  puts "Prerelease#generate_migration"
end

#release_dirObject



274
# File 'lib/prick/build.rb', line 274

def release_dir() base_release.release_dir end