class Nandi::CompileGenerator

Public Instance Methods

compile_migration_files() click to toggle source
# File lib/generators/nandi/compile/compile_generator.rb, line 24
def compile_migration_files
  Nandi.compile(files: files) do |results|
    results.each do |result|
      Nandi::Lockfile.add(
        file_name: result.file_name,
        source_digest: result.source_digest,
        compiled_digest: result.compiled_digest,
      )

      unless result.migration_unchanged?
        create_file result.output_path, result.body, force: true
      end
    end
  end

  Nandi::Lockfile.persist!
end

Private Instance Methods

files() click to toggle source
# File lib/generators/nandi/compile/compile_generator.rb, line 56
def files
  safe_migration_files = Dir.chdir(safe_migrations_dir) { Dir["*.rb"] }
  FileMatcher.call(files: safe_migration_files, spec: options["files"]).
    map { |file| File.join(safe_migrations_dir, file) }
end
output_path() click to toggle source
# File lib/generators/nandi/compile/compile_generator.rb, line 52
def output_path
  Nandi.config.output_directory || "db/migrate"
end
safe_migrations_dir() click to toggle source
# File lib/generators/nandi/compile/compile_generator.rb, line 44
def safe_migrations_dir
  if Nandi.config.migration_directory.nil?
    Rails.root.join("db", "safe_migrations").to_s
  else
    File.expand_path(Nandi.config.migration_directory)
  end
end