Class: RailsEngineToolkit::Actions::InstallEngineMigrations

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_engine_toolkit/actions/install_engine_migrations.rb

Instance Method Summary collapse

Constructor Details

#initialize(argv, stdout:, root:, stdin: nil, stderr: nil) ⇒ InstallEngineMigrations

Returns a new instance of InstallEngineMigrations.



6
7
8
9
10
11
12
13
# File 'lib/rails_engine_toolkit/actions/install_engine_migrations.rb', line 6

def initialize(argv, stdout:, root:, stdin: nil, stderr: nil)
  @engine_name = argv[0]
  @stdout = stdout
  @stdin = stdin
  @stderr = stderr
  @root = Pathname(root)
  @project = Project.new(@root)
end

Instance Method Details

#callObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/rails_engine_toolkit/actions/install_engine_migrations.rb', line 15

def call
  @project.validate_root!
  validate_args!

  migrations_dir = engine_migrations_dir
  FileUtils.mkdir_p(@project.root_migrations_dir)

  copied = migrations_to_copy(migrations_dir).map do |source_file|
    copy_migration(source_file)
  end

  report_result(copied)
end