railties 5.1.7 → 5.2.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (266) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +77 -241
  3. data/RDOC_MAIN.rdoc +61 -43
  4. data/README.rdoc +1 -2
  5. data/exe/rails +3 -2
  6. data/lib/minitest/rails_plugin.rb +9 -13
  7. data/lib/rails.rb +4 -2
  8. data/lib/rails/all.rb +3 -0
  9. data/lib/rails/api/generator.rb +10 -1
  10. data/lib/rails/api/task.rb +11 -1
  11. data/lib/rails/app_loader.rb +18 -5
  12. data/lib/rails/app_updater.rb +34 -0
  13. data/lib/rails/application.rb +90 -18
  14. data/lib/rails/application/bootstrap.rb +2 -0
  15. data/lib/rails/application/configuration.rb +79 -36
  16. data/lib/rails/application/default_middleware_stack.rb +7 -1
  17. data/lib/rails/application/finisher.rb +3 -1
  18. data/lib/rails/application/routes_reloader.rb +21 -3
  19. data/lib/rails/application_controller.rb +3 -1
  20. data/lib/rails/backtrace_cleaner.rb +3 -1
  21. data/lib/rails/cli.rb +2 -0
  22. data/lib/rails/code_statistics.rb +2 -0
  23. data/lib/rails/code_statistics_calculator.rb +2 -0
  24. data/lib/rails/command.rb +3 -1
  25. data/lib/rails/command/actions.rb +6 -4
  26. data/lib/rails/command/base.rb +5 -3
  27. data/lib/rails/command/behavior.rb +2 -0
  28. data/lib/rails/command/environment_argument.rb +14 -1
  29. data/lib/rails/command/helpers/editor.rb +35 -0
  30. data/lib/rails/commands.rb +2 -0
  31. data/lib/rails/commands/application/application_command.rb +2 -0
  32. data/lib/rails/commands/console/console_command.rb +2 -3
  33. data/lib/rails/commands/credentials/USAGE +40 -0
  34. data/lib/rails/commands/credentials/credentials_command.rb +72 -0
  35. data/lib/rails/commands/dbconsole/dbconsole_command.rb +18 -7
  36. data/lib/rails/commands/destroy/destroy_command.rb +2 -0
  37. data/lib/rails/commands/encrypted/encrypted_command.rb +77 -0
  38. data/lib/rails/commands/generate/generate_command.rb +2 -0
  39. data/lib/rails/commands/help/help_command.rb +2 -0
  40. data/lib/rails/commands/new/new_command.rb +2 -0
  41. data/lib/rails/commands/plugin/plugin_command.rb +2 -0
  42. data/lib/rails/commands/rake/rake_command.rb +2 -0
  43. data/lib/rails/commands/runner/USAGE +3 -0
  44. data/lib/rails/commands/runner/runner_command.rb +7 -3
  45. data/lib/rails/commands/secrets/secrets_command.rb +15 -10
  46. data/lib/rails/commands/server/server_command.rb +24 -3
  47. data/lib/rails/commands/test/test_command.rb +18 -23
  48. data/lib/rails/commands/version/version_command.rb +2 -0
  49. data/lib/rails/configuration.rb +2 -0
  50. data/lib/rails/console/app.rb +2 -0
  51. data/lib/rails/console/helpers.rb +2 -0
  52. data/lib/rails/dev_caching.rb +2 -1
  53. data/lib/rails/engine.rb +3 -1
  54. data/lib/rails/engine/commands.rb +2 -0
  55. data/lib/rails/engine/configuration.rb +2 -0
  56. data/lib/rails/engine/railties.rb +2 -0
  57. data/lib/rails/engine/updater.rb +3 -1
  58. data/lib/rails/gem_version.rb +5 -3
  59. data/lib/rails/generators.rb +8 -3
  60. data/lib/rails/generators/actions.rb +53 -24
  61. data/lib/rails/generators/actions/create_migration.rb +2 -0
  62. data/lib/rails/generators/active_model.rb +2 -0
  63. data/lib/rails/generators/app_base.rb +94 -57
  64. data/lib/rails/generators/base.rb +40 -1
  65. data/lib/rails/generators/css/assets/assets_generator.rb +3 -1
  66. data/lib/rails/generators/css/scaffold/scaffold_generator.rb +5 -3
  67. data/lib/rails/generators/erb.rb +2 -0
  68. data/lib/rails/generators/erb/controller/controller_generator.rb +2 -0
  69. data/lib/rails/generators/erb/controller/templates/{view.html.erb → view.html.erb.tt} +0 -0
  70. data/lib/rails/generators/erb/mailer/mailer_generator.rb +2 -0
  71. data/lib/rails/generators/erb/mailer/templates/{view.html.erb → view.html.erb.tt} +0 -0
  72. data/lib/rails/generators/erb/mailer/templates/{view.text.erb → view.text.erb.tt} +0 -0
  73. data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +2 -0
  74. data/lib/rails/generators/erb/scaffold/templates/{_form.html.erb → _form.html.erb.tt} +4 -4
  75. data/lib/rails/generators/erb/scaffold/templates/{edit.html.erb → edit.html.erb.tt} +0 -0
  76. data/lib/rails/generators/erb/scaffold/templates/{index.html.erb → index.html.erb.tt} +4 -4
  77. data/lib/rails/generators/erb/scaffold/templates/{new.html.erb → new.html.erb.tt} +0 -0
  78. data/lib/rails/generators/erb/scaffold/templates/{show.html.erb → show.html.erb.tt} +0 -0
  79. data/lib/rails/generators/generated_attribute.rb +3 -1
  80. data/lib/rails/generators/js/assets/assets_generator.rb +3 -1
  81. data/lib/rails/generators/migration.rb +2 -0
  82. data/lib/rails/generators/model_helpers.rb +2 -0
  83. data/lib/rails/generators/named_base.rb +35 -45
  84. data/lib/rails/generators/rails/app/app_generator.rb +64 -23
  85. data/lib/rails/generators/rails/app/templates/{Gemfile → Gemfile.tt} +17 -6
  86. data/lib/rails/generators/rails/app/templates/{README.md → README.md.tt} +0 -0
  87. data/lib/rails/generators/rails/app/templates/{Rakefile → Rakefile.tt} +0 -0
  88. data/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt +3 -0
  89. data/lib/rails/generators/rails/app/templates/app/assets/javascripts/{cable.js → cable.js.tt} +0 -0
  90. data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/{application.css → application.css.tt} +0 -0
  91. data/lib/rails/generators/rails/app/templates/app/channels/application_cable/{channel.rb → channel.rb.tt} +0 -0
  92. data/lib/rails/generators/rails/app/templates/app/channels/application_cable/{connection.rb → connection.rb.tt} +0 -0
  93. data/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt +1 -4
  94. data/lib/rails/generators/rails/app/templates/app/helpers/{application_helper.rb → application_helper.rb.tt} +0 -0
  95. data/lib/rails/generators/rails/app/templates/app/jobs/{application_job.rb → application_job.rb.tt} +0 -0
  96. data/lib/rails/generators/rails/app/templates/app/mailers/{application_mailer.rb → application_mailer.rb.tt} +0 -0
  97. data/lib/rails/generators/rails/app/templates/app/models/{application_record.rb → application_record.rb.tt} +0 -0
  98. data/lib/rails/generators/rails/app/templates/bin/bundle.tt +2 -0
  99. data/lib/rails/generators/rails/app/templates/bin/{rails → rails.tt} +0 -0
  100. data/lib/rails/generators/rails/app/templates/bin/{rake → rake.tt} +0 -0
  101. data/lib/rails/generators/rails/app/templates/bin/setup.tt +5 -5
  102. data/lib/rails/generators/rails/app/templates/bin/update.tt +7 -3
  103. data/lib/rails/generators/rails/app/templates/bin/{yarn → yarn.tt} +3 -3
  104. data/lib/rails/generators/rails/app/templates/{config.ru → config.ru.tt} +0 -0
  105. data/lib/rails/generators/rails/app/templates/config/{application.rb → application.rb.tt} +2 -1
  106. data/lib/rails/generators/rails/app/templates/config/{boot.rb → boot.rb.tt} +1 -0
  107. data/lib/rails/generators/rails/app/templates/config/{cable.yml → cable.yml.tt} +1 -1
  108. data/lib/rails/generators/rails/app/templates/config/databases/{frontbase.yml → frontbase.yml.tt} +0 -0
  109. data/lib/rails/generators/rails/app/templates/config/databases/{ibm_db.yml → ibm_db.yml.tt} +0 -0
  110. data/lib/rails/generators/rails/app/templates/config/databases/{jdbc.yml → jdbc.yml.tt} +0 -0
  111. data/lib/rails/generators/rails/app/templates/config/databases/{jdbcmysql.yml → jdbcmysql.yml.tt} +1 -1
  112. data/lib/rails/generators/rails/app/templates/config/databases/{jdbcpostgresql.yml → jdbcpostgresql.yml.tt} +0 -0
  113. data/lib/rails/generators/rails/app/templates/config/databases/{jdbcsqlite3.yml → jdbcsqlite3.yml.tt} +0 -0
  114. data/lib/rails/generators/rails/app/templates/config/databases/{mysql.yml → mysql.yml.tt} +1 -1
  115. data/lib/rails/generators/rails/app/templates/config/databases/{oracle.yml → oracle.yml.tt} +0 -0
  116. data/lib/rails/generators/rails/app/templates/config/databases/{postgresql.yml → postgresql.yml.tt} +0 -0
  117. data/lib/rails/generators/rails/app/templates/config/databases/{sqlite3.yml → sqlite3.yml.tt} +0 -0
  118. data/lib/rails/generators/rails/app/templates/config/databases/{sqlserver.yml → sqlserver.yml.tt} +2 -2
  119. data/lib/rails/generators/rails/app/templates/config/{environment.rb → environment.rb.tt} +0 -0
  120. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +7 -1
  121. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +12 -7
  122. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +8 -2
  123. data/lib/rails/generators/rails/app/templates/config/initializers/{application_controller_renderer.rb → application_controller_renderer.rb.tt} +0 -0
  124. data/lib/rails/generators/rails/app/templates/config/initializers/{backtrace_silencers.rb → backtrace_silencers.rb.tt} +0 -0
  125. data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +20 -0
  126. data/lib/rails/generators/rails/app/templates/config/initializers/{cookies_serializer.rb → cookies_serializer.rb.tt} +0 -0
  127. data/lib/rails/generators/rails/app/templates/config/initializers/{cors.rb → cors.rb.tt} +0 -0
  128. data/lib/rails/generators/rails/app/templates/config/initializers/{filter_parameter_logging.rb → filter_parameter_logging.rb.tt} +0 -0
  129. data/lib/rails/generators/rails/app/templates/config/initializers/{inflections.rb → inflections.rb.tt} +0 -0
  130. data/lib/rails/generators/rails/app/templates/config/initializers/{mime_types.rb → mime_types.rb.tt} +0 -0
  131. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_5_2.rb.tt +27 -0
  132. data/lib/rails/generators/rails/app/templates/config/{puma.rb → puma.rb.tt} +0 -0
  133. data/lib/rails/generators/rails/app/templates/config/{routes.rb → routes.rb.tt} +0 -0
  134. data/lib/rails/generators/rails/app/templates/config/{spring.rb → spring.rb.tt} +2 -2
  135. data/lib/rails/generators/rails/app/templates/config/storage.yml.tt +35 -0
  136. data/lib/rails/generators/rails/app/templates/{gitignore → gitignore.tt} +9 -1
  137. data/lib/rails/generators/rails/app/templates/{package.json → package.json.tt} +0 -0
  138. data/lib/rails/generators/rails/app/templates/ruby-version.tt +1 -0
  139. data/lib/rails/generators/rails/app/templates/test/{application_system_test_case.rb → application_system_test_case.rb.tt} +0 -0
  140. data/lib/rails/generators/rails/app/templates/test/{test_helper.rb → test_helper.rb.tt} +1 -2
  141. data/lib/rails/generators/rails/application_record/application_record_generator.rb +9 -0
  142. data/lib/rails/generators/rails/assets/assets_generator.rb +2 -0
  143. data/lib/rails/generators/rails/assets/templates/stylesheet.css +1 -1
  144. data/lib/rails/generators/rails/controller/controller_generator.rb +11 -9
  145. data/lib/rails/generators/rails/controller/templates/{controller.rb → controller.rb.tt} +0 -0
  146. data/lib/rails/generators/rails/credentials/credentials_generator.rb +48 -0
  147. data/lib/rails/generators/rails/encrypted_file/encrypted_file_generator.rb +38 -0
  148. data/lib/rails/generators/rails/encryption_key_file/encryption_key_file_generator.rb +57 -0
  149. data/lib/rails/generators/rails/generator/generator_generator.rb +2 -0
  150. data/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt +1 -1
  151. data/lib/rails/generators/rails/helper/helper_generator.rb +2 -0
  152. data/lib/rails/generators/rails/helper/templates/{helper.rb → helper.rb.tt} +0 -0
  153. data/lib/rails/generators/rails/integration_test/integration_test_generator.rb +2 -0
  154. data/lib/rails/generators/rails/master_key/master_key_generator.rb +51 -0
  155. data/lib/rails/generators/rails/migration/migration_generator.rb +2 -0
  156. data/lib/rails/generators/rails/model/model_generator.rb +2 -0
  157. data/lib/rails/generators/rails/plugin/plugin_generator.rb +18 -9
  158. data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +24 -0
  159. data/lib/rails/generators/rails/plugin/templates/{Gemfile → Gemfile.tt} +1 -0
  160. data/lib/rails/generators/rails/plugin/templates/{MIT-LICENSE → MIT-LICENSE.tt} +0 -0
  161. data/lib/rails/generators/rails/plugin/templates/{README.md → README.md.tt} +1 -1
  162. data/lib/rails/generators/rails/plugin/templates/{Rakefile → Rakefile.tt} +6 -7
  163. data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +21 -4
  164. data/lib/rails/generators/rails/plugin/templates/bin/test.tt +1 -1
  165. data/lib/rails/generators/rails/plugin/templates/config/{routes.rb → routes.rb.tt} +0 -0
  166. data/lib/rails/generators/rails/plugin/templates/gitignore.tt +18 -0
  167. data/lib/rails/generators/rails/plugin/templates/lib/{%namespaced_name%.rb → %namespaced_name%.rb.tt} +3 -1
  168. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/{engine.rb → engine.rb.tt} +0 -0
  169. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb.tt +5 -0
  170. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/{version.rb → version.rb.tt} +0 -0
  171. data/lib/rails/generators/rails/plugin/templates/lib/tasks/{%namespaced_name%_tasks.rake → %namespaced_name%_tasks.rake.tt} +0 -0
  172. data/lib/rails/generators/rails/plugin/templates/rails/{application.rb → application.rb.tt} +6 -3
  173. data/lib/rails/generators/rails/plugin/templates/rails/{boot.rb → boot.rb.tt} +0 -0
  174. data/lib/rails/generators/rails/plugin/templates/rails/{dummy_manifest.js → dummy_manifest.js.tt} +0 -1
  175. data/lib/rails/generators/rails/plugin/templates/rails/{engine_manifest.js → engine_manifest.js.tt} +0 -0
  176. data/lib/rails/generators/rails/plugin/templates/rails/{javascripts.js → javascripts.js.tt} +3 -0
  177. data/lib/rails/generators/rails/plugin/templates/rails/{routes.rb → routes.rb.tt} +0 -0
  178. data/lib/rails/generators/rails/plugin/templates/test/{%namespaced_name%_test.rb → %namespaced_name%_test.rb.tt} +0 -0
  179. data/lib/rails/generators/rails/plugin/templates/test/{application_system_test_case.rb → application_system_test_case.rb.tt} +0 -0
  180. data/lib/rails/generators/rails/plugin/templates/test/integration/{navigation_test.rb → navigation_test.rb.tt} +0 -1
  181. data/lib/rails/generators/rails/plugin/templates/test/{test_helper.rb → test_helper.rb.tt} +7 -6
  182. data/lib/rails/generators/rails/resource/USAGE +1 -1
  183. data/lib/rails/generators/rails/resource/resource_generator.rb +2 -0
  184. data/lib/rails/generators/rails/resource_route/resource_route_generator.rb +21 -24
  185. data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +2 -3
  186. data/lib/rails/generators/rails/scaffold_controller/USAGE +1 -1
  187. data/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb +2 -0
  188. data/lib/rails/generators/rails/scaffold_controller/templates/{api_controller.rb → api_controller.rb.tt} +0 -0
  189. data/lib/rails/generators/rails/scaffold_controller/templates/{controller.rb → controller.rb.tt} +2 -2
  190. data/lib/rails/generators/rails/system_test/system_test_generator.rb +2 -0
  191. data/lib/rails/generators/rails/task/task_generator.rb +2 -0
  192. data/lib/rails/generators/rails/task/templates/{task.rb → task.rb.tt} +0 -0
  193. data/lib/rails/generators/resource_helpers.rb +2 -0
  194. data/lib/rails/generators/test_case.rb +4 -2
  195. data/lib/rails/generators/test_unit.rb +2 -0
  196. data/lib/rails/generators/test_unit/controller/controller_generator.rb +2 -0
  197. data/lib/rails/generators/test_unit/controller/templates/{functional_test.rb → functional_test.rb.tt} +0 -0
  198. data/lib/rails/generators/test_unit/generator/generator_generator.rb +2 -0
  199. data/lib/rails/generators/test_unit/generator/templates/{generator_test.rb → generator_test.rb.tt} +0 -0
  200. data/lib/rails/generators/test_unit/helper/helper_generator.rb +2 -0
  201. data/lib/rails/generators/test_unit/integration/integration_generator.rb +2 -0
  202. data/lib/rails/generators/test_unit/integration/templates/{integration_test.rb → integration_test.rb.tt} +0 -0
  203. data/lib/rails/generators/test_unit/job/job_generator.rb +3 -1
  204. data/lib/rails/generators/test_unit/job/templates/{unit_test.rb.erb → unit_test.rb.tt} +0 -0
  205. data/lib/rails/generators/test_unit/mailer/mailer_generator.rb +2 -0
  206. data/lib/rails/generators/test_unit/mailer/templates/{functional_test.rb → functional_test.rb.tt} +0 -0
  207. data/lib/rails/generators/test_unit/mailer/templates/{preview.rb → preview.rb.tt} +0 -0
  208. data/lib/rails/generators/test_unit/model/model_generator.rb +2 -0
  209. data/lib/rails/generators/test_unit/model/templates/{fixtures.yml → fixtures.yml.tt} +0 -0
  210. data/lib/rails/generators/test_unit/model/templates/{unit_test.rb → unit_test.rb.tt} +0 -0
  211. data/lib/rails/generators/test_unit/plugin/plugin_generator.rb +2 -0
  212. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +17 -4
  213. data/lib/rails/generators/test_unit/scaffold/templates/{api_functional_test.rb → api_functional_test.rb.tt} +2 -2
  214. data/lib/rails/generators/test_unit/scaffold/templates/{functional_test.rb → functional_test.rb.tt} +2 -2
  215. data/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +49 -0
  216. data/lib/rails/generators/test_unit/system/system_generator.rb +3 -1
  217. data/lib/rails/generators/test_unit/system/templates/{application_system_test_case.rb → application_system_test_case.rb.tt} +0 -0
  218. data/lib/rails/generators/test_unit/system/templates/{system_test.rb → system_test.rb.tt} +0 -0
  219. data/lib/rails/generators/testing/assertions.rb +7 -1
  220. data/lib/rails/generators/testing/behaviour.rb +8 -6
  221. data/lib/rails/generators/testing/setup_and_teardown.rb +2 -0
  222. data/lib/rails/info.rb +6 -3
  223. data/lib/rails/info_controller.rb +2 -0
  224. data/lib/rails/initializable.rb +2 -0
  225. data/lib/rails/mailers_controller.rb +9 -1
  226. data/lib/rails/paths.rb +2 -0
  227. data/lib/rails/plugin/test.rb +4 -2
  228. data/lib/rails/rack.rb +2 -0
  229. data/lib/rails/rack/logger.rb +5 -3
  230. data/lib/rails/railtie.rb +9 -4
  231. data/lib/rails/railtie/configurable.rb +2 -0
  232. data/lib/rails/railtie/configuration.rb +2 -0
  233. data/lib/rails/ruby_version_check.rb +3 -1
  234. data/lib/rails/secrets.rb +2 -17
  235. data/lib/rails/source_annotation_extractor.rb +4 -2
  236. data/lib/rails/tasks.rb +2 -0
  237. data/lib/rails/tasks/annotations.rake +2 -0
  238. data/lib/rails/tasks/dev.rake +2 -0
  239. data/lib/rails/tasks/engine.rake +7 -2
  240. data/lib/rails/tasks/framework.rake +9 -24
  241. data/lib/rails/tasks/initializers.rake +2 -0
  242. data/lib/rails/tasks/log.rake +2 -0
  243. data/lib/rails/tasks/middleware.rake +2 -0
  244. data/lib/rails/tasks/misc.rake +2 -0
  245. data/lib/rails/tasks/restart.rake +2 -1
  246. data/lib/rails/tasks/routes.rake +2 -0
  247. data/lib/rails/tasks/statistics.rake +2 -0
  248. data/lib/rails/tasks/tmp.rake +11 -2
  249. data/lib/rails/tasks/yarn.rake +3 -1
  250. data/lib/rails/templates/rails/mailers/email.html.erb +3 -3
  251. data/lib/rails/templates/rails/welcome/index.html.erb +14 -4
  252. data/lib/rails/test_help.rb +2 -0
  253. data/lib/rails/test_unit/line_filtering.rb +2 -1
  254. data/lib/rails/test_unit/railtie.rb +2 -0
  255. data/lib/rails/test_unit/reporter.rb +5 -10
  256. data/lib/rails/test_unit/runner.rb +3 -3
  257. data/lib/rails/test_unit/testing.rake +3 -1
  258. data/lib/rails/version.rb +2 -0
  259. data/lib/rails/welcome_controller.rb +2 -0
  260. metadata +121 -107
  261. data/lib/rails/generators/rails/app/templates/bin/bundle +0 -2
  262. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_5_1.rb.tt +0 -16
  263. data/lib/rails/generators/rails/app/templates/config/secrets.yml +0 -32
  264. data/lib/rails/generators/rails/encrypted_secrets/encrypted_secrets_generator.rb +0 -70
  265. data/lib/rails/generators/rails/plugin/templates/%name%.gemspec +0 -33
  266. data/lib/rails/generators/rails/plugin/templates/gitignore +0 -9
@@ -0,0 +1,24 @@
1
+ $:.push File.expand_path("lib", __dir__)
2
+
3
+ # Maintain your gem's version:
4
+ require "<%= namespaced_name %>/version"
5
+
6
+ # Describe your gem and declare its dependencies:
7
+ Gem::Specification.new do |s|
8
+ s.name = "<%= name %>"
9
+ s.version = <%= camelized_modules %>::VERSION
10
+ s.authors = ["<%= author %>"]
11
+ s.email = ["<%= email %>"]
12
+ s.homepage = "TODO"
13
+ s.summary = "TODO: Summary of <%= camelized_modules %>."
14
+ s.description = "TODO: Description of <%= camelized_modules %>."
15
+ s.license = "MIT"
16
+
17
+ s.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.md"]
18
+
19
+ <%= '# ' if options.dev? || options.edge? -%>s.add_dependency "rails", "<%= Array(rails_version_specifier).join('", "') %>"
20
+ <% unless options[:skip_active_record] -%>
21
+
22
+ s.add_development_dependency "<%= gem_for_database[0] %>"
23
+ <% end -%>
24
+ end
@@ -1,4 +1,5 @@
1
1
  source 'https://rubygems.org'
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
2
3
 
3
4
  <% if options[:skip_gemspec] -%>
4
5
  <%= '# ' if options.dev? || options.edge? -%>gem 'rails', '<%= Array(rails_version_specifier).join("', '") %>'
@@ -25,4 +25,4 @@ $ gem install <%= name %>
25
25
  Contribution directions go here.
26
26
 
27
27
  ## License
28
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
28
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -13,17 +13,16 @@ RDoc::Task.new(:rdoc) do |rdoc|
13
13
  rdoc.rdoc_files.include('README.md')
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
-
17
16
  <% if engine? && !options[:skip_active_record] && with_dummy_app? -%>
18
- APP_RAKEFILE = File.expand_path("../<%= dummy_path -%>/Rakefile", __FILE__)
19
- load 'rails/tasks/engine.rake'
20
- <% end %>
21
17
 
18
+ APP_RAKEFILE = File.expand_path("<%= dummy_path -%>/Rakefile", __dir__)
19
+ load 'rails/tasks/engine.rake'
20
+ <% end -%>
22
21
  <% if engine? -%>
23
- load 'rails/tasks/statistics.rake'
24
- <% end %>
25
22
 
23
+ load 'rails/tasks/statistics.rake'
24
+ <% end -%>
26
25
  <% unless options[:skip_gemspec] -%>
27
26
 
28
27
  require 'bundler/gem_tasks'
29
- <% end %>
28
+ <% end -%>
@@ -1,13 +1,30 @@
1
1
  # This command will automatically be run when you run "rails" with Rails gems
2
2
  # installed from the root of your application.
3
3
 
4
- ENGINE_ROOT = File.expand_path('../..', __FILE__)
5
- ENGINE_PATH = File.expand_path('../../lib/<%= namespaced_name -%>/engine', __FILE__)
6
- APP_PATH = File.expand_path('../../<%= dummy_path -%>/config/application', __FILE__)
4
+ ENGINE_ROOT = File.expand_path('..', __dir__)
5
+ ENGINE_PATH = File.expand_path('../lib/<%= namespaced_name -%>/engine', __dir__)
6
+ <% if with_dummy_app? -%>
7
+ APP_PATH = File.expand_path('../<%= dummy_path -%>/config/application', __dir__)
8
+ <% end -%>
7
9
 
8
10
  # Set up gems listed in the Gemfile.
9
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
11
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
10
12
  require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
11
13
 
14
+ <% if include_all_railties? -%>
12
15
  require 'rails/all'
16
+ <% else -%>
17
+ require "rails"
18
+ # Pick the frameworks you want:
19
+ require "active_model/railtie"
20
+ require "active_job/railtie"
21
+ <%= comment_if :skip_active_record %>require "active_record/railtie"
22
+ require "action_controller/railtie"
23
+ <%= comment_if :skip_action_mailer %>require "action_mailer/railtie"
24
+ require "action_view/railtie"
25
+ require "active_storage/engine"
26
+ <%= comment_if :skip_action_cable %>require "action_cable/engine"
27
+ <%= comment_if :skip_sprockets %>require "sprockets/railtie"
28
+ <%= comment_if :skip_test %>require "rails/test_unit/railtie"
29
+ <% end -%>
13
30
  require 'rails/engine/commands'
@@ -1,4 +1,4 @@
1
- $: << File.expand_path(File.expand_path("../../test", __FILE__))
1
+ $: << File.expand_path("../test", __dir__)
2
2
 
3
3
  require "bundler/setup"
4
4
  require "rails/plugin/test"
@@ -0,0 +1,18 @@
1
+ .bundle/
2
+ log/*.log
3
+ pkg/
4
+ <% if with_dummy_app? -%>
5
+ <% if sqlite3? -%>
6
+ <%= dummy_path %>/db/*.sqlite3
7
+ <%= dummy_path %>/db/*.sqlite3-journal
8
+ <% end -%>
9
+ <%= dummy_path %>/log/*.log
10
+ <% unless options[:skip_yarn] -%>
11
+ <%= dummy_path %>/node_modules/
12
+ <%= dummy_path %>/yarn-error.log
13
+ <% end -%>
14
+ <% unless skip_active_storage? -%>
15
+ <%= dummy_path %>/storage/
16
+ <% end -%>
17
+ <%= dummy_path %>/tmp/
18
+ <% end -%>
@@ -1,5 +1,7 @@
1
1
  <% if engine? -%>
2
2
  require "<%= namespaced_name %>/engine"
3
-
3
+ <% else -%>
4
+ require "<%= namespaced_name %>/railtie"
4
5
  <% end -%>
6
+
5
7
  <%= wrap_in_modules "# Your code goes here..." %>
@@ -0,0 +1,5 @@
1
+ <%= wrap_in_modules <<-rb.strip_heredoc
2
+ class Railtie < ::Rails::Railtie
3
+ end
4
+ rb
5
+ %>
@@ -3,15 +3,18 @@ require_relative 'boot'
3
3
  <% if include_all_railties? -%>
4
4
  require 'rails/all'
5
5
  <% else -%>
6
+ require "rails"
6
7
  # Pick the frameworks you want:
8
+ require "active_model/railtie"
9
+ require "active_job/railtie"
7
10
  <%= comment_if :skip_active_record %>require "active_record/railtie"
11
+ <%= comment_if :skip_active_storage %>require "active_storage/engine"
8
12
  require "action_controller/railtie"
9
- require "action_view/railtie"
10
13
  <%= comment_if :skip_action_mailer %>require "action_mailer/railtie"
11
- require "active_job/railtie"
14
+ require "action_view/railtie"
12
15
  <%= comment_if :skip_action_cable %>require "action_cable/engine"
13
- <%= comment_if :skip_test %>require "rails/test_unit/railtie"
14
16
  <%= comment_if :skip_sprockets %>require "sprockets/railtie"
17
+ <%= comment_if :skip_test %>require "rails/test_unit/railtie"
15
18
  <% end -%>
16
19
 
17
20
  Bundler.require(*Rails.groups)
@@ -1,4 +1,3 @@
1
-
2
1
  <% unless api? -%>
3
2
  //= link_tree ../images
4
3
  <% end -%>
@@ -10,4 +10,7 @@
10
10
  // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
11
  // about supported directives.
12
12
  //
13
+ <% unless skip_active_storage? -%>
14
+ //= require activestorage
15
+ <% end -%>
13
16
  //= require_tree .
@@ -5,4 +5,3 @@ class NavigationTest < ActionDispatch::IntegrationTest
5
5
  # assert true
6
6
  # end
7
7
  end
8
-
@@ -1,10 +1,8 @@
1
- # Configure Rails Environment
2
- ENV["RAILS_ENV"] = "test"
3
- require File.expand_path("../../<%= options[:dummy_path] -%>/config/environment.rb", __FILE__)
1
+ require_relative "<%= File.join('..', options[:dummy_path], 'config/environment') -%>"
4
2
  <% unless options[:skip_active_record] -%>
5
- ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../<%= options[:dummy_path] -%>/db/migrate", __FILE__)]
3
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../<%= options[:dummy_path] -%>/db/migrate", __dir__)]
6
4
  <% if options[:mountable] -%>
7
- ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
5
+ ActiveRecord::Migrator.migrations_paths << File.expand_path('../db/migrate', __dir__)
8
6
  <% end -%>
9
7
  <% end -%>
10
8
  require "rails/test_help"
@@ -14,13 +12,16 @@ require "rails/test_help"
14
12
  Minitest.backtrace_filter = Minitest::BacktraceFilter.new
15
13
 
16
14
  <% unless engine? -%>
15
+ require "rails/test_unit/reporter"
17
16
  Rails::TestUnitReporter.executable = 'bin/test'
18
17
  <% end -%>
19
18
 
19
+ <% unless options[:skip_active_record] -%>
20
20
  # Load fixtures from the engine
21
21
  if ActiveSupport::TestCase.respond_to?(:fixture_path=)
22
- ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
22
+ ActiveSupport::TestCase.fixture_path = File.expand_path("fixtures", __dir__)
23
23
  ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
24
24
  ActiveSupport::TestCase.file_fixture_path = ActiveSupport::TestCase.fixture_path + "/files"
25
25
  ActiveSupport::TestCase.fixtures :all
26
26
  end
27
+ <% end -%>
@@ -1,6 +1,6 @@
1
1
  Description:
2
2
  Stubs out a new resource including an empty model and controller suitable
3
- for a restful, resource-oriented application. Pass the singular model name,
3
+ for a RESTful, resource-oriented application. Pass the singular model name,
4
4
  either CamelCased or under_scored, as the first argument, and an optional
5
5
  list of attribute pairs.
6
6
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/resource_helpers"
2
4
  require "rails/generators/rails/model/model_generator"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rails
2
4
  module Generators
3
5
  class ResourceRouteGenerator < NamedBase # :nodoc:
@@ -15,37 +17,32 @@ module Rails
15
17
  def add_resource_route
16
18
  return if options[:actions].present?
17
19
 
18
- # iterates over all namespaces and opens up blocks
19
- regular_class_path.each_with_index do |namespace, index|
20
- write("namespace :#{namespace} do", index + 1)
20
+ depth = 0
21
+ lines = []
22
+
23
+ # Create 'namespace' ladder
24
+ # namespace :foo do
25
+ # namespace :bar do
26
+ regular_class_path.each do |ns|
27
+ lines << indent("namespace :#{ns} do\n", depth * 2)
28
+ depth += 1
21
29
  end
22
30
 
23
31
  # inserts the primary resource
24
- write("resources :#{file_name.pluralize}", route_length + 1)
32
+ # Create route
33
+ # resources 'products'
34
+ lines << indent(%{resources :#{file_name.pluralize}\n}, depth * 2)
25
35
 
26
- # ends blocks
27
- regular_class_path.each_index do |index|
28
- write("end", route_length - index)
36
+ # Create `end` ladder
37
+ # end
38
+ # end
39
+ until depth.zero?
40
+ depth -= 1
41
+ lines << indent("end\n", depth * 2)
29
42
  end
30
43
 
31
- # route prepends two spaces onto the front of the string that is passed, this corrects that.
32
- # Also it adds a \n to the end of each line, as route already adds that
33
- # we need to correct that too.
34
- route route_string[2..-2]
44
+ route lines.join
35
45
  end
36
-
37
- private
38
- def route_string
39
- @route_string ||= ""
40
- end
41
-
42
- def write(str, indent)
43
- route_string << "#{" " * indent}#{str}\n"
44
- end
45
-
46
- def route_length
47
- regular_class_path.length
48
- end
49
46
  end
50
47
  end
51
48
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/rails/resource/resource_generator"
2
4
 
3
5
  module Rails
@@ -16,13 +18,10 @@ module Rails
16
18
  def handle_skip
17
19
  @options = @options.merge(stylesheets: false) unless options[:assets]
18
20
  @options = @options.merge(stylesheet_engine: false) unless options[:stylesheets] && options[:scaffold_stylesheet]
19
- @options = @options.merge(system_tests: false) if options[:api]
20
21
  end
21
22
 
22
23
  hook_for :scaffold_controller, required: true
23
24
 
24
- hook_for :system_tests, as: :system
25
-
26
25
  hook_for :assets do |assets|
27
26
  invoke assets, [controller_name]
28
27
  end
@@ -12,7 +12,7 @@ Description:
12
12
  Example:
13
13
  `rails generate scaffold_controller CreditCard`
14
14
 
15
- Credit card controller with URLs like /credit_card/debit.
15
+ Credit card controller with URLs like /credit_cards.
16
16
  Controller: app/controllers/credit_cards_controller.rb
17
17
  Test: test/controllers/credit_cards_controller_test.rb
18
18
  Views: app/views/credit_cards/index.html.erb [...]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/resource_helpers"
2
4
 
3
5
  module Rails
@@ -29,7 +29,7 @@ class <%= controller_class_name %>Controller < ApplicationController
29
29
  @<%= singular_table_name %> = <%= orm_class.build(class_name, "#{singular_table_name}_params") %>
30
30
 
31
31
  if @<%= orm_instance.save %>
32
- redirect_to @<%= singular_table_name %>, notice: <%= "'#{human_name} was successfully created.'" %>
32
+ redirect_to <%= redirect_resource_name %>, notice: <%= "'#{human_name} was successfully created.'" %>
33
33
  else
34
34
  render :new
35
35
  end
@@ -38,7 +38,7 @@ class <%= controller_class_name %>Controller < ApplicationController
38
38
  # PATCH/PUT <%= route_url %>/1
39
39
  def update
40
40
  if @<%= orm_instance.update("#{singular_table_name}_params") %>
41
- redirect_to @<%= singular_table_name %>, notice: <%= "'#{human_name} was successfully updated.'" %>
41
+ redirect_to <%= redirect_resource_name %>, notice: <%= "'#{human_name} was successfully updated.'" %>
42
42
  else
43
43
  render :edit
44
44
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rails
2
4
  module Generators
3
5
  class SystemTestGenerator < NamedBase # :nodoc:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Rails
2
4
  module Generators
3
5
  class TaskGenerator < NamedBase # :nodoc:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/active_model"
2
4
  require "rails/generators/model_helpers"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators"
2
4
  require "rails/generators/testing/behaviour"
3
5
  require "rails/generators/testing/setup_and_teardown"
@@ -14,7 +16,7 @@ module Rails
14
16
  #
15
17
  # class AppGeneratorTest < Rails::Generators::TestCase
16
18
  # tests AppGenerator
17
- # destination File.expand_path("../tmp", File.dirname(__FILE__))
19
+ # destination File.expand_path("../tmp", __dir__)
18
20
  # end
19
21
  #
20
22
  # If you want to ensure your destination root is clean before running each test,
@@ -22,7 +24,7 @@ module Rails
22
24
  #
23
25
  # class AppGeneratorTest < Rails::Generators::TestCase
24
26
  # tests AppGenerator
25
- # destination File.expand_path("../tmp", File.dirname(__FILE__))
27
+ # destination File.expand_path("../tmp", __dir__)
26
28
  # setup :prepare_destination
27
29
  # end
28
30
  class TestCase < ActiveSupport::TestCase
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/named_base"
2
4
 
3
5
  module TestUnit # :nodoc:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/test_unit"
2
4
 
3
5
  module TestUnit # :nodoc:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/test_unit"
2
4
 
3
5
  module TestUnit # :nodoc: