module Cardio::Migration::Stamp

methods for stamping migration versions to files

Public Instance Methods

stamp() click to toggle source
# File lib/cardio/migration/stamp.rb, line 5
def stamp
  mode do
    return unless (version = stampable_version) && (file = stamp_file)
    puts ">>  writing version: #{version} to #{file.path}"
    file.puts version
  end
end

Private Instance Methods

stamp_file() click to toggle source
# File lib/cardio/migration/stamp.rb, line 15
def stamp_file
  ::File.open stamp_path, "w"
end
stamp_path() click to toggle source
# File lib/cardio/migration/stamp.rb, line 24
def stamp_path
  stamp_dir = ENV["SCHEMA_STAMP_PATH"] || File.join(Cardio.root, "db")

  File.join stamp_dir, "version_#{migration_type}.txt"
end
stampable_version() click to toggle source
# File lib/cardio/migration/stamp.rb, line 19
def stampable_version
  version = ActiveRecord::Migrator.current_version
  version.to_i.positive? && version
end