mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Use an app template installer instead for nicer overwriting checks
This commit is contained in:
parent
d28ce034b5
commit
e11f84ee3a
2 changed files with 15 additions and 26 deletions
|
@ -5,36 +5,16 @@ namespace :action_text do
|
|||
Rake::Task["install:migrations"].clear_comments
|
||||
|
||||
desc "Copy over the migration, stylesheet, and JavaScript files"
|
||||
task install: %w( environment copy_migrations copy_stylesheet copy_fixtures yarn_add )
|
||||
task install: %w( environment run_installer copy_migrations )
|
||||
|
||||
task :run_installer do
|
||||
installer_template = File.expand_path("../templates/installer.rb", __dir__)
|
||||
system "#{RbConfig.ruby} ./bin/rails app:template LOCATION=#{installer_template}"
|
||||
end
|
||||
|
||||
task :copy_migrations do
|
||||
Rake::Task["active_storage:install:migrations"].invoke
|
||||
Rake::Task["railties:install:migrations"].reenable # Otherwise you can't run 2 migration copy tasks in one invocation
|
||||
Rake::Task["action_text:install:migrations"].invoke
|
||||
end
|
||||
|
||||
STYLESHEET_TEMPLATE_PATH = File.expand_path("../templates/actiontext.css", __dir__)
|
||||
STYLESHEET_APP_PATH = Rails.root.join("app/assets/stylesheets/actiontext.css")
|
||||
|
||||
task :copy_stylesheet do
|
||||
unless File.exist?(STYLESHEET_APP_PATH)
|
||||
FileUtils.cp STYLESHEET_TEMPLATE_PATH, STYLESHEET_APP_PATH
|
||||
end
|
||||
end
|
||||
|
||||
FIXTURE_TEMPLATE_PATH = File.expand_path("../templates/fixtures.yml", __dir__)
|
||||
FIXTURE_APP_DIR_PATH = Rails.root.join("test/fixtures/action_text")
|
||||
FIXTURE_APP_PATH = FIXTURE_APP_DIR_PATH.join("rich_texts.yml")
|
||||
|
||||
task :copy_fixtures do
|
||||
unless File.exist?(FIXTURE_APP_PATH)
|
||||
FileUtils.mkdir FIXTURE_APP_DIR_PATH
|
||||
FileUtils.cp FIXTURE_TEMPLATE_PATH, FIXTURE_APP_PATH
|
||||
end
|
||||
end
|
||||
|
||||
task :yarn_add do
|
||||
# FIXME: Replace with release version on release
|
||||
system "yarn add https://github.com/basecamp/actiontext"
|
||||
end
|
||||
end
|
||||
|
|
9
lib/templates/installer.rb
Normal file
9
lib/templates/installer.rb
Normal file
|
@ -0,0 +1,9 @@
|
|||
say "Copying actiontext.css to app/assets/stylesheets"
|
||||
copy_file "#{__dir__}/actiontext.css", "app/assets/stylesheets/actiontext.css"
|
||||
|
||||
say "Copying fixtures to test/fixtures/action_text/rich_texts.yml"
|
||||
copy_file "#{__dir__}/fixtures.yml", "test/fixtures/action_text/rich_texts.yml"
|
||||
|
||||
# FIXME: Replace with release version on release
|
||||
say "Installing JavaScript dependency"
|
||||
run "yarn add https://github.com/basecamp/actiontext"
|
Loading…
Reference in a new issue