From f9c43f252586a8d70687e23ae450e52f14e855a1 Mon Sep 17 00:00:00 2001 From: Tsukuru Tanimichi Date: Mon, 26 Jun 2017 13:01:54 +0900 Subject: Add `railtie.rb` to the plugin generator --- railties/CHANGELOG.md | 4 ++++ railties/lib/rails/generators/rails/plugin/plugin_generator.rb | 7 ++++++- .../generators/rails/plugin/templates/lib/%namespaced_name%.rb | 4 +++- .../rails/plugin/templates/lib/%namespaced_name%/railtie.rb | 5 +++++ railties/test/generators/plugin_generator_test.rb | 2 ++ 5 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 railties/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index 6cb8cbcd73..b9a530258d 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,3 +1,7 @@ +* Add `railtie.rb` to the plugin generator + + *Tsukuru Tanimichi* + * Deprecate `capify!` method in generators and templates. *Yuji Yaginuma* diff --git a/railties/lib/rails/generators/rails/plugin/plugin_generator.rb b/railties/lib/rails/generators/rails/plugin/plugin_generator.rb index 118e44d9d0..445235852d 100644 --- a/railties/lib/rails/generators/rails/plugin/plugin_generator.rb +++ b/railties/lib/rails/generators/rails/plugin/plugin_generator.rb @@ -60,7 +60,12 @@ module Rails template "lib/%namespaced_name%.rb" template "lib/tasks/%namespaced_name%_tasks.rake" template "lib/%namespaced_name%/version.rb" - template "lib/%namespaced_name%/engine.rb" if engine? + + if engine? + template "lib/%namespaced_name%/engine.rb" + else + template "lib/%namespaced_name%/railtie.rb" + end end def config diff --git a/railties/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%.rb b/railties/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%.rb index 40b1c4cee7..3285055eb7 100644 --- a/railties/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%.rb +++ b/railties/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%.rb @@ -1,5 +1,7 @@ <% if engine? -%> require "<%= namespaced_name %>/engine" - +<% else -%> +require "<%= namespaced_name %>/railtie" <% end -%> + <%= wrap_in_modules "# Your code goes here..." %> diff --git a/railties/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb b/railties/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb new file mode 100644 index 0000000000..7bdf4ee5fb --- /dev/null +++ b/railties/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb @@ -0,0 +1,5 @@ +<%= wrap_in_modules <<-rb.strip_heredoc + class Railtie < ::Rails::Railtie + end +rb +%> diff --git a/railties/test/generators/plugin_generator_test.rb b/railties/test/generators/plugin_generator_test.rb index 63aa079a12..f8512f9157 100644 --- a/railties/test/generators/plugin_generator_test.rb +++ b/railties/test/generators/plugin_generator_test.rb @@ -68,6 +68,8 @@ class PluginGeneratorTest < Rails::Generators::TestCase assert_match(/Minitest\.backtrace_filter = Minitest::BacktraceFilter\.new/, content) assert_match(/Rails::TestUnitReporter\.executable = 'bin\/test'/, content) end + assert_file "lib/bukkits/railtie.rb", /module Bukkits\n class Railtie < ::Rails::Railtie\n end\nend/ + assert_file "lib/bukkits.rb", /require "bukkits\/railtie"/ assert_file "test/bukkits_test.rb", /assert_kind_of Module, Bukkits/ assert_file "bin/test" assert_no_file "bin/rails" -- cgit v1.2.3