railties 5.0.7.2 → 5.1.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +77 -567
  3. data/MIT-LICENSE +1 -1
  4. data/RDOC_MAIN.rdoc +3 -3
  5. data/README.rdoc +1 -1
  6. data/exe/rails +2 -2
  7. data/lib/rails.rb +18 -18
  8. data/lib/rails/all.rb +1 -1
  9. data/lib/rails/api/generator.rb +28 -0
  10. data/lib/rails/api/task.rb +54 -42
  11. data/lib/rails/app_loader.rb +9 -9
  12. data/lib/rails/application.rb +30 -35
  13. data/lib/rails/application/bootstrap.rb +13 -7
  14. data/lib/rails/application/configuration.rb +30 -53
  15. data/lib/rails/application/default_middleware_stack.rb +3 -5
  16. data/lib/rails/application/finisher.rb +16 -7
  17. data/lib/rails/application/routes_reloader.rb +16 -1
  18. data/lib/rails/application_controller.rb +10 -10
  19. data/lib/rails/backtrace_cleaner.rb +5 -5
  20. data/lib/rails/cli.rb +7 -5
  21. data/lib/rails/code_statistics.rb +16 -17
  22. data/lib/rails/code_statistics_calculator.rb +3 -3
  23. data/lib/rails/command.rb +111 -0
  24. data/lib/rails/command/actions.rb +42 -0
  25. data/lib/rails/command/base.rb +149 -0
  26. data/lib/rails/command/behavior.rb +123 -0
  27. data/lib/rails/command/environment_argument.rb +34 -0
  28. data/lib/rails/commands.rb +2 -4
  29. data/lib/rails/commands/application/application_command.rb +29 -0
  30. data/lib/rails/commands/console/console_command.rb +89 -0
  31. data/lib/rails/commands/dbconsole/dbconsole_command.rb +155 -0
  32. data/lib/rails/commands/destroy/destroy_command.rb +21 -0
  33. data/lib/rails/commands/generate/generate_command.rb +23 -0
  34. data/lib/rails/commands/help/USAGE +15 -0
  35. data/lib/rails/commands/help/help_command.rb +13 -0
  36. data/lib/rails/commands/new/new_command.rb +15 -0
  37. data/lib/rails/commands/plugin/plugin_command.rb +43 -0
  38. data/lib/rails/commands/rake/rake_command.rb +49 -0
  39. data/lib/rails/commands/runner/USAGE +17 -0
  40. data/lib/rails/commands/runner/runner_command.rb +46 -0
  41. data/lib/rails/commands/secrets/USAGE +52 -0
  42. data/lib/rails/commands/secrets/secrets_command.rb +36 -0
  43. data/lib/rails/commands/server/server_command.rb +177 -0
  44. data/lib/rails/commands/test/test_command.rb +20 -0
  45. data/lib/rails/commands/version/version_command.rb +9 -0
  46. data/lib/rails/configuration.rb +7 -7
  47. data/lib/rails/console/app.rb +4 -4
  48. data/lib/rails/dev_caching.rb +8 -8
  49. data/lib/rails/engine.rb +62 -63
  50. data/lib/rails/engine/commands.rb +6 -13
  51. data/lib/rails/engine/configuration.rb +2 -2
  52. data/lib/rails/gem_version.rb +3 -3
  53. data/lib/rails/generators.rb +229 -313
  54. data/lib/rails/generators/actions.rb +20 -21
  55. data/lib/rails/generators/actions/create_migration.rb +24 -25
  56. data/lib/rails/generators/active_model.rb +3 -3
  57. data/lib/rails/generators/app_base.rb +123 -93
  58. data/lib/rails/generators/base.rb +32 -33
  59. data/lib/rails/generators/css/assets/assets_generator.rb +1 -1
  60. data/lib/rails/generators/erb.rb +14 -14
  61. data/lib/rails/generators/erb/controller/controller_generator.rb +1 -1
  62. data/lib/rails/generators/erb/mailer/mailer_generator.rb +12 -12
  63. data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +3 -3
  64. data/lib/rails/generators/generated_attribute.rb +27 -27
  65. data/lib/rails/generators/js/assets/assets_generator.rb +1 -1
  66. data/lib/rails/generators/migration.rb +8 -8
  67. data/lib/rails/generators/model_helpers.rb +2 -2
  68. data/lib/rails/generators/named_base.rb +56 -56
  69. data/lib/rails/generators/rails/app/app_generator.rb +98 -81
  70. data/lib/rails/generators/rails/app/templates/Gemfile +7 -2
  71. data/lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt +0 -2
  72. data/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt +6 -4
  73. data/lib/rails/generators/rails/app/templates/app/assets/javascripts/cable.js +1 -1
  74. data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css +2 -2
  75. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +1 -1
  76. data/lib/rails/generators/rails/app/templates/bin/{setup → setup.tt} +6 -0
  77. data/lib/rails/generators/rails/app/templates/bin/{update → update.tt} +2 -1
  78. data/lib/rails/generators/rails/app/templates/bin/yarn +9 -0
  79. data/lib/rails/generators/rails/app/templates/config/cable.yml +1 -0
  80. data/lib/rails/generators/rails/app/templates/config/databases/frontbase.yml +1 -0
  81. data/lib/rails/generators/rails/app/templates/config/databases/ibm_db.yml +1 -0
  82. data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml +1 -0
  83. data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml +2 -1
  84. data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml +1 -0
  85. data/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml +1 -0
  86. data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml +2 -2
  87. data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml +1 -0
  88. data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml +1 -1
  89. data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml +1 -1
  90. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +1 -1
  91. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +10 -1
  92. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +1 -1
  93. data/lib/rails/generators/rails/app/templates/config/initializers/application_controller_renderer.rb +4 -6
  94. data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +8 -3
  95. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults.rb.tt +6 -5
  96. data/lib/rails/generators/rails/app/templates/config/locales/en.yml +10 -0
  97. data/lib/rails/generators/rails/app/templates/config/puma.rb +16 -7
  98. data/lib/rails/generators/rails/app/templates/config/secrets.yml +12 -2
  99. data/lib/rails/generators/rails/app/templates/gitignore +5 -1
  100. data/lib/rails/generators/rails/app/templates/package.json +5 -0
  101. data/lib/rails/generators/rails/app/templates/public/404.html +6 -6
  102. data/lib/rails/generators/rails/app/templates/public/422.html +6 -6
  103. data/lib/rails/generators/rails/app/templates/public/500.html +6 -6
  104. data/lib/rails/generators/rails/app/templates/public/robots.txt +0 -4
  105. data/lib/rails/generators/rails/app/templates/test/application_system_test_case.rb +5 -0
  106. data/lib/rails/generators/rails/app/templates/test/test_helper.rb +0 -1
  107. data/lib/rails/generators/rails/assets/assets_generator.rb +10 -10
  108. data/lib/rails/generators/rails/controller/controller_generator.rb +15 -12
  109. data/lib/rails/generators/rails/encrypted_secrets/encrypted_secrets_generator.rb +66 -0
  110. data/lib/rails/generators/rails/encrypted_secrets/templates/config/secrets.yml.enc +3 -0
  111. data/lib/rails/generators/rails/generator/generator_generator.rb +2 -3
  112. data/lib/rails/generators/rails/helper/helper_generator.rb +1 -1
  113. data/lib/rails/generators/rails/model/model_generator.rb +1 -1
  114. data/lib/rails/generators/rails/plugin/plugin_generator.rb +21 -26
  115. data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +1 -0
  116. data/lib/rails/generators/rails/plugin/templates/bin/test.tt +3 -9
  117. data/lib/rails/generators/rails/plugin/templates/test/application_system_test_case.rb +5 -0
  118. data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb +0 -3
  119. data/lib/rails/generators/rails/resource/resource_generator.rb +2 -2
  120. data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +5 -1
  121. data/lib/rails/generators/rails/scaffold/templates/scaffold.css +4 -8
  122. data/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb +2 -3
  123. data/lib/rails/generators/rails/system_test/USAGE +10 -0
  124. data/lib/rails/generators/rails/system_test/system_test_generator.rb +7 -0
  125. data/lib/rails/generators/rails/task/task_generator.rb +1 -2
  126. data/lib/rails/generators/resource_helpers.rb +13 -10
  127. data/lib/rails/generators/test_case.rb +5 -6
  128. data/lib/rails/generators/test_unit.rb +1 -1
  129. data/lib/rails/generators/test_unit/controller/controller_generator.rb +3 -3
  130. data/lib/rails/generators/test_unit/generator/generator_generator.rb +3 -3
  131. data/lib/rails/generators/test_unit/helper/helper_generator.rb +1 -1
  132. data/lib/rails/generators/test_unit/integration/integration_generator.rb +2 -2
  133. data/lib/rails/generators/test_unit/job/job_generator.rb +3 -3
  134. data/lib/rails/generators/test_unit/mailer/mailer_generator.rb +5 -5
  135. data/lib/rails/generators/test_unit/model/model_generator.rb +3 -4
  136. data/lib/rails/generators/test_unit/plugin/plugin_generator.rb +2 -2
  137. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +3 -3
  138. data/lib/rails/generators/test_unit/system/system_generator.rb +17 -0
  139. data/lib/rails/generators/test_unit/system/templates/application_system_test_case.rb +5 -0
  140. data/lib/rails/generators/test_unit/system/templates/system_test.rb +9 -0
  141. data/lib/rails/generators/testing/assertions.rb +4 -4
  142. data/lib/rails/generators/testing/behaviour.rb +20 -21
  143. data/lib/rails/info.rb +20 -20
  144. data/lib/rails/info_controller.rb +15 -15
  145. data/lib/rails/initializable.rb +6 -2
  146. data/lib/rails/mailers_controller.rb +11 -11
  147. data/lib/rails/paths.rb +4 -5
  148. data/lib/rails/plugin/test.rb +7 -0
  149. data/lib/rails/rack/logger.rb +44 -46
  150. data/lib/rails/railtie.rb +41 -38
  151. data/lib/rails/railtie/configurable.rb +6 -6
  152. data/lib/rails/railtie/configuration.rb +1 -1
  153. data/lib/rails/ruby_version_check.rb +1 -1
  154. data/lib/rails/secrets.rb +111 -0
  155. data/lib/rails/source_annotation_extractor.rb +15 -9
  156. data/lib/rails/tasks.rb +3 -2
  157. data/lib/rails/tasks/annotations.rake +3 -3
  158. data/lib/rails/tasks/dev.rake +2 -2
  159. data/lib/rails/tasks/engine.rake +4 -4
  160. data/lib/rails/tasks/framework.rake +4 -18
  161. data/lib/rails/tasks/initializers.rake +1 -1
  162. data/lib/rails/tasks/log.rake +14 -10
  163. data/lib/rails/tasks/middleware.rake +1 -1
  164. data/lib/rails/tasks/misc.rake +10 -10
  165. data/lib/rails/tasks/restart.rake +4 -4
  166. data/lib/rails/tasks/routes.rake +3 -12
  167. data/lib/rails/tasks/statistics.rake +3 -3
  168. data/lib/rails/tasks/tmp.rake +7 -7
  169. data/lib/rails/tasks/yarn.rake +11 -0
  170. data/lib/rails/templates/rails/mailers/email.html.erb +4 -1
  171. data/lib/rails/test_help.rb +28 -10
  172. data/lib/rails/test_unit/line_filtering.rb +69 -3
  173. data/lib/rails/test_unit/minitest_plugin.rb +139 -0
  174. data/lib/rails/test_unit/railtie.rb +2 -1
  175. data/lib/rails/test_unit/reporter.rb +3 -8
  176. data/lib/rails/test_unit/test_requirer.rb +28 -0
  177. data/lib/rails/test_unit/testing.rake +19 -14
  178. data/lib/rails/version.rb +1 -1
  179. data/lib/rails/welcome_controller.rb +1 -1
  180. metadata +53 -30
  181. data/lib/minitest/rails_plugin.rb +0 -49
  182. data/lib/rails/commands/application.rb +0 -17
  183. data/lib/rails/commands/commands_tasks.rb +0 -180
  184. data/lib/rails/commands/console.rb +0 -68
  185. data/lib/rails/commands/console_helper.rb +0 -34
  186. data/lib/rails/commands/dbconsole.rb +0 -173
  187. data/lib/rails/commands/destroy.rb +0 -11
  188. data/lib/rails/commands/generate.rb +0 -13
  189. data/lib/rails/commands/plugin.rb +0 -23
  190. data/lib/rails/commands/rake_proxy.rb +0 -41
  191. data/lib/rails/commands/runner.rb +0 -71
  192. data/lib/rails/commands/server.rb +0 -163
  193. data/lib/rails/commands/test.rb +0 -10
  194. data/lib/rails/engine/commands_tasks.rb +0 -118
  195. data/lib/rails/generators/rails/app/templates/config/initializers/session_store.rb.tt +0 -3
  196. data/lib/rails/rack/debugger.rb +0 -3
  197. data/lib/rails/test_unit/runner.rb +0 -141
@@ -0,0 +1,5 @@
1
+ require "test_helper"
2
+
3
+ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
4
+ driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
5
+ end
@@ -0,0 +1,9 @@
1
+ require "application_system_test_case"
2
+
3
+ class <%= class_name.pluralize %>Test < ApplicationSystemTestCase
4
+ # test "visiting the index" do
5
+ # visit <%= plural_table_name %>_url
6
+ #
7
+ # assert_selector "h1", text: "<%= class_name %>"
8
+ # end
9
+ end
@@ -29,10 +29,10 @@ module Rails
29
29
 
30
30
  contents.each do |content|
31
31
  case content
32
- when String
33
- assert_equal content, read
34
- when Regexp
35
- assert_match content, read
32
+ when String
33
+ assert_equal content, read
34
+ when Regexp
35
+ assert_match content, read
36
36
  end
37
37
  end
38
38
  end
@@ -1,10 +1,10 @@
1
- require 'active_support/core_ext/class/attribute'
2
- require 'active_support/core_ext/module/delegation'
3
- require 'active_support/core_ext/hash/reverse_merge'
4
- require 'active_support/core_ext/kernel/reporting'
5
- require 'active_support/testing/stream'
6
- require 'active_support/concern'
7
- require 'rails/generators'
1
+ require "active_support/core_ext/class/attribute"
2
+ require "active_support/core_ext/module/delegation"
3
+ require "active_support/core_ext/hash/reverse_merge"
4
+ require "active_support/core_ext/kernel/reporting"
5
+ require "active_support/testing/stream"
6
+ require "active_support/concern"
7
+ require "rails/generators"
8
8
 
9
9
  module Rails
10
10
  module Generators
@@ -62,48 +62,47 @@ module Rails
62
62
  #
63
63
  # You can provide a configuration hash as second argument. This method returns the output
64
64
  # printed by the generator.
65
- def run_generator(args=self.default_arguments, config={})
65
+ def run_generator(args = default_arguments, config = {})
66
66
  capture(:stdout) do
67
- args += ['--skip-bundle'] unless args.include? '--dev'
68
- self.generator_class.start(args, config.reverse_merge(destination_root: destination_root))
67
+ args += ["--skip-bundle"] unless args.include? "--dev"
68
+ generator_class.start(args, config.reverse_merge(destination_root: destination_root))
69
69
  end
70
70
  end
71
71
 
72
72
  # Instantiate the generator.
73
- def generator(args=self.default_arguments, options={}, config={})
74
- @generator ||= self.generator_class.new(args, options, config.reverse_merge(destination_root: destination_root))
73
+ def generator(args = default_arguments, options = {}, config = {})
74
+ @generator ||= generator_class.new(args, options, config.reverse_merge(destination_root: destination_root))
75
75
  end
76
76
 
77
77
  # Create a Rails::Generators::GeneratedAttribute by supplying the
78
78
  # attribute type and, optionally, the attribute name:
79
79
  #
80
80
  # create_generated_attribute(:string, 'name')
81
- def create_generated_attribute(attribute_type, name = 'test', index = nil)
82
- Rails::Generators::GeneratedAttribute.parse([name, attribute_type, index].compact.join(':'))
81
+ def create_generated_attribute(attribute_type, name = "test", index = nil)
82
+ Rails::Generators::GeneratedAttribute.parse([name, attribute_type, index].compact.join(":"))
83
83
  end
84
84
 
85
- protected
85
+ private
86
86
 
87
- def destination_root_is_set? # :nodoc:
87
+ def destination_root_is_set?
88
88
  raise "You need to configure your Rails::Generators::TestCase destination root." unless destination_root
89
89
  end
90
90
 
91
- def ensure_current_path # :nodoc:
91
+ def ensure_current_path
92
92
  cd current_path
93
93
  end
94
94
 
95
95
  # Clears all files and directories in destination.
96
- def prepare_destination
96
+ def prepare_destination # :doc:
97
97
  rm_rf(destination_root)
98
98
  mkdir_p(destination_root)
99
99
  end
100
100
 
101
- def migration_file_name(relative) # :nodoc:
101
+ def migration_file_name(relative)
102
102
  absolute = File.expand_path(relative, destination_root)
103
- dirname, file_name = File.dirname(absolute), File.basename(absolute).sub(/\.rb$/, '')
103
+ dirname, file_name = File.dirname(absolute), File.basename(absolute).sub(/\.rb$/, "")
104
104
  Dir.glob("#{dirname}/[0-9]*_*.rb").grep(/\d+_#{file_name}.rb$/).first
105
105
  end
106
-
107
106
  end
108
107
  end
109
108
  end
@@ -1,9 +1,9 @@
1
1
  require "cgi"
2
2
 
3
3
  module Rails
4
- # This module helps build the runtime properties used to display in the
5
- # Rails::InfoController responses. Including the active Rails version, Ruby
6
- # version, Rack version, and so on.
4
+ # This module helps build the runtime properties that are displayed in
5
+ # Rails::InfoController responses. These include the active Rails version,
6
+ # Ruby version, Rack version, and so on.
7
7
  module Info
8
8
  mattr_accessor :properties
9
9
  class << (@@properties = [])
@@ -38,64 +38,64 @@ module Rails
38
38
  alias inspect to_s
39
39
 
40
40
  def to_html
41
- '<table>'.tap do |table|
41
+ "<table>".tap do |table|
42
42
  properties.each do |(name, value)|
43
43
  table << %(<tr><td class="name">#{CGI.escapeHTML(name.to_s)}</td>)
44
44
  formatted_value = if value.kind_of?(Array)
45
- "<ul>" + value.map { |v| "<li>#{CGI.escapeHTML(v.to_s)}</li>" }.join + "</ul>"
46
- else
47
- CGI.escapeHTML(value.to_s)
48
- end
45
+ "<ul>" + value.map { |v| "<li>#{CGI.escapeHTML(v.to_s)}</li>" }.join + "</ul>"
46
+ else
47
+ CGI.escapeHTML(value.to_s)
48
+ end
49
49
  table << %(<td class="value">#{formatted_value}</td></tr>)
50
50
  end
51
- table << '</table>'
51
+ table << "</table>"
52
52
  end
53
53
  end
54
54
  end
55
55
 
56
56
  # The Rails version.
57
- property 'Rails version' do
57
+ property "Rails version" do
58
58
  Rails.version.to_s
59
59
  end
60
60
 
61
61
  # The Ruby version and platform, e.g. "2.0.0-p247 (x86_64-darwin12.4.0)".
62
- property 'Ruby version' do
62
+ property "Ruby version" do
63
63
  "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} (#{RUBY_PLATFORM})"
64
64
  end
65
65
 
66
66
  # The RubyGems version, if it's installed.
67
- property 'RubyGems version' do
67
+ property "RubyGems version" do
68
68
  Gem::RubyGemsVersion
69
69
  end
70
70
 
71
- property 'Rack version' do
71
+ property "Rack version" do
72
72
  ::Rack.release
73
73
  end
74
74
 
75
- property 'JavaScript Runtime' do
75
+ property "JavaScript Runtime" do
76
76
  ExecJS.runtime.name
77
77
  end
78
78
 
79
- property 'Middleware' do
79
+ property "Middleware" do
80
80
  Rails.configuration.middleware.map(&:inspect)
81
81
  end
82
82
 
83
83
  # The application's location on the filesystem.
84
- property 'Application root' do
84
+ property "Application root" do
85
85
  File.expand_path(Rails.root)
86
86
  end
87
87
 
88
88
  # The current Rails environment (development, test, or production).
89
- property 'Environment' do
89
+ property "Environment" do
90
90
  Rails.env
91
91
  end
92
92
 
93
93
  # The name of the database adapter for the current environment.
94
- property 'Database adapter' do
95
- ActiveRecord::Base.configurations[Rails.env]['adapter']
94
+ property "Database adapter" do
95
+ ActiveRecord::Base.configurations[Rails.env]["adapter"]
96
96
  end
97
97
 
98
- property 'Database schema version' do
98
+ property "Database schema version" do
99
99
  ActiveRecord::Migrator.current_version rescue nil
100
100
  end
101
101
  end
@@ -1,9 +1,9 @@
1
- require 'rails/application_controller'
2
- require 'action_dispatch/routing/inspector'
1
+ require "rails/application_controller"
2
+ require "action_dispatch/routing/inspector"
3
3
 
4
4
  class Rails::InfoController < Rails::ApplicationController # :nodoc:
5
5
  prepend_view_path ActionDispatch::DebugExceptions::RESCUES_TEMPLATE_PATH
6
- layout -> { request.xhr? ? false : 'application' }
6
+ layout -> { request.xhr? ? false : "application" }
7
7
 
8
8
  before_action :require_local!
9
9
 
@@ -13,7 +13,7 @@ class Rails::InfoController < Rails::ApplicationController # :nodoc:
13
13
 
14
14
  def properties
15
15
  @info = Rails::Info.to_html
16
- @page_title = 'Properties'
16
+ @page_title = "Properties"
17
17
  end
18
18
 
19
19
  def routes
@@ -21,24 +21,24 @@ class Rails::InfoController < Rails::ApplicationController # :nodoc:
21
21
  path = URI.parser.escape path
22
22
  normalized_path = with_leading_slash path
23
23
  render json: {
24
- exact: match_route {|it| it.match normalized_path },
25
- fuzzy: match_route {|it| it.spec.to_s.match path }
24
+ exact: match_route { |it| it.match normalized_path },
25
+ fuzzy: match_route { |it| it.spec.to_s.match path }
26
26
  }
27
27
  else
28
28
  @routes_inspector = ActionDispatch::Routing::RoutesInspector.new(_routes.routes)
29
- @page_title = 'Routes'
29
+ @page_title = "Routes"
30
30
  end
31
31
  end
32
32
 
33
33
  private
34
34
 
35
- def match_route
36
- _routes.routes.select {|route|
37
- yield route.path
38
- }.map {|route| route.path.spec.to_s }
39
- end
35
+ def match_route
36
+ _routes.routes.select { |route|
37
+ yield route.path
38
+ }.map { |route| route.path.spec.to_s }
39
+ end
40
40
 
41
- def with_leading_slash(path)
42
- ('/' + path).squeeze('/')
43
- end
41
+ def with_leading_slash(path)
42
+ ("/" + path).squeeze("/")
43
+ end
44
44
  end
@@ -1,4 +1,4 @@
1
- require 'tsort'
1
+ require "tsort"
2
2
 
3
3
  module Rails
4
4
  module Initializable
@@ -34,6 +34,10 @@ module Rails
34
34
  return self if @context
35
35
  Initializer.new(@name, context, @options, &block)
36
36
  end
37
+
38
+ def context_class
39
+ @context.class
40
+ end
37
41
  end
38
42
 
39
43
  class Collection < Array
@@ -49,7 +53,7 @@ module Rails
49
53
  end
50
54
  end
51
55
 
52
- def run_initializers(group=:default, *args)
56
+ def run_initializers(group = :default, *args)
53
57
  return if instance_variable_defined?(:@ran)
54
58
  initializers.tsort_each do |initializer|
55
59
  initializer.run(*args) if initializer.belongs_to?(group)
@@ -1,4 +1,4 @@
1
- require 'rails/application_controller'
1
+ require "rails/application_controller"
2
2
 
3
3
  class Rails::MailersController < Rails::ApplicationController # :nodoc:
4
4
  prepend_view_path ActionDispatch::DebugExceptions::RESCUES_TEMPLATE_PATH
@@ -14,7 +14,7 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
14
14
  def preview
15
15
  if params[:path] == @preview.preview_name
16
16
  @page_title = "Mailer Previews for #{@preview.preview_name}"
17
- render action: 'mailer'
17
+ render action: "mailer"
18
18
  else
19
19
  @email_action = File.basename(params[:path])
20
20
 
@@ -32,7 +32,7 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
32
32
  end
33
33
  else
34
34
  @part = find_preferred_part(request.format, Mime[:html], Mime[:text])
35
- render action: 'email', layout: false, formats: %w[html]
35
+ render action: "email", layout: false, formats: %w[html]
36
36
  end
37
37
  else
38
38
  raise AbstractController::ActionNotFound, "Email '#{@email_action}' not found in #{@preview.name}"
@@ -40,15 +40,15 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
40
40
  end
41
41
  end
42
42
 
43
- protected
44
- def show_previews?
43
+ private
44
+ def show_previews? # :doc:
45
45
  ActionMailer::Base.show_previews
46
46
  end
47
47
 
48
- def find_preview
48
+ def find_preview # :doc:
49
49
  candidates = []
50
- params[:path].to_s.scan(%r{/|$}){ candidates << $` }
51
- preview = candidates.detect{ |candidate| ActionMailer::Preview.exists?(candidate) }
50
+ params[:path].to_s.scan(%r{/|$}) { candidates << $` }
51
+ preview = candidates.detect { |candidate| ActionMailer::Preview.exists?(candidate) }
52
52
 
53
53
  if preview
54
54
  @preview = ActionMailer::Preview.find(preview)
@@ -57,19 +57,19 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
57
57
  end
58
58
  end
59
59
 
60
- def find_preferred_part(*formats)
60
+ def find_preferred_part(*formats) # :doc:
61
61
  formats.each do |format|
62
62
  if part = @email.find_first_mime_type(format)
63
63
  return part
64
64
  end
65
65
  end
66
66
 
67
- if formats.any?{ |f| @email.mime_type == f }
67
+ if formats.any? { |f| @email.mime_type == f }
68
68
  @email
69
69
  end
70
70
  end
71
71
 
72
- def find_part(format)
72
+ def find_part(format) # :doc:
73
73
  if part = @email.find_first_mime_type(format)
74
74
  part
75
75
  elsif @email.mime_type == format
@@ -2,12 +2,12 @@ module Rails
2
2
  module Paths
3
3
  # This object is an extended hash that behaves as root of the <tt>Rails::Paths</tt> system.
4
4
  # It allows you to collect information about how you want to structure your application
5
- # paths by a Hash like API. It requires you to give a physical path on initialization.
5
+ # paths through a Hash-like API. It requires you to give a physical path on initialization.
6
6
  #
7
7
  # root = Root.new "/rails"
8
8
  # root.add "app/controllers", eager_load: true
9
9
  #
10
- # The command above creates a new root object and adds "app/controllers" as a path.
10
+ # The above command creates a new root object and adds "app/controllers" as a path.
11
11
  # This means we can get a <tt>Rails::Paths::Path</tt> object back like below:
12
12
  #
13
13
  # path = root["app/controllers"]
@@ -30,7 +30,7 @@ module Rails
30
30
  # root["config/routes"].inspect # => ["config/routes.rb"]
31
31
  #
32
32
  # The +add+ method accepts the following options as arguments:
33
- # eager_load, autoload, autoload_once and glob.
33
+ # eager_load, autoload, autoload_once, and glob.
34
34
  #
35
35
  # Finally, the +Path+ object also provides a few helpers:
36
36
  #
@@ -45,7 +45,6 @@ module Rails
45
45
  attr_accessor :path
46
46
 
47
47
  def initialize(path)
48
- @current = nil
49
48
  @path = path
50
49
  @root = {}
51
50
  end
@@ -180,7 +179,7 @@ module Rails
180
179
  end
181
180
 
182
181
  def extensions # :nodoc:
183
- $1.split(',') if @glob =~ /\{([\S]+)\}/
182
+ $1.split(",") if @glob =~ /\{([\S]+)\}/
184
183
  end
185
184
 
186
185
  # Expands all paths against the root and return all unique values.
@@ -0,0 +1,7 @@
1
+ require "rails/test_unit/minitest_plugin"
2
+
3
+ Rails::TestUnitReporter.executable = "bin/test"
4
+
5
+ Minitest.run_via = :rails
6
+
7
+ require "active_support/testing/autorun"
@@ -1,8 +1,8 @@
1
- require 'active_support/core_ext/time/conversions'
2
- require 'active_support/core_ext/object/blank'
3
- require 'active_support/log_subscriber'
4
- require 'action_dispatch/http/request'
5
- require 'rack/body_proxy'
1
+ require "active_support/core_ext/time/conversions"
2
+ require "active_support/core_ext/object/blank"
3
+ require "active_support/log_subscriber"
4
+ require "action_dispatch/http/request"
5
+ require "rack/body_proxy"
6
6
 
7
7
  module Rails
8
8
  module Rack
@@ -27,54 +27,52 @@ module Rails
27
27
  end
28
28
  end
29
29
 
30
- protected
30
+ private
31
31
 
32
- def call_app(request, env)
33
- instrumenter = ActiveSupport::Notifications.instrumenter
34
- instrumenter.start 'request.action_dispatch', request: request
35
- logger.info { started_request_message(request) }
36
- resp = @app.call(env)
37
- resp[2] = ::Rack::BodyProxy.new(resp[2]) { finish(request) }
38
- resp
39
- rescue Exception
40
- finish(request)
41
- raise
42
- ensure
43
- ActiveSupport::LogSubscriber.flush_all!
44
- end
32
+ def call_app(request, env) # :doc:
33
+ instrumenter = ActiveSupport::Notifications.instrumenter
34
+ instrumenter.start "request.action_dispatch", request: request
35
+ logger.info { started_request_message(request) }
36
+ resp = @app.call(env)
37
+ resp[2] = ::Rack::BodyProxy.new(resp[2]) { finish(request) }
38
+ resp
39
+ rescue Exception
40
+ finish(request)
41
+ raise
42
+ ensure
43
+ ActiveSupport::LogSubscriber.flush_all!
44
+ end
45
45
 
46
- # Started GET "/session/new" for 127.0.0.1 at 2012-09-26 14:51:42 -0700
47
- def started_request_message(request)
48
- 'Started %s "%s" for %s at %s' % [
49
- request.request_method,
50
- request.filtered_path,
51
- request.ip,
52
- Time.now.to_default_s ]
53
- end
46
+ # Started GET "/session/new" for 127.0.0.1 at 2012-09-26 14:51:42 -0700
47
+ def started_request_message(request) # :doc:
48
+ 'Started %s "%s" for %s at %s' % [
49
+ request.request_method,
50
+ request.filtered_path,
51
+ request.ip,
52
+ Time.now.to_default_s ]
53
+ end
54
54
 
55
- def compute_tags(request)
56
- @taggers.collect do |tag|
57
- case tag
58
- when Proc
59
- tag.call(request)
60
- when Symbol
61
- request.send(tag)
62
- else
63
- tag
55
+ def compute_tags(request) # :doc:
56
+ @taggers.collect do |tag|
57
+ case tag
58
+ when Proc
59
+ tag.call(request)
60
+ when Symbol
61
+ request.send(tag)
62
+ else
63
+ tag
64
+ end
64
65
  end
65
66
  end
66
- end
67
67
 
68
- private
69
-
70
- def finish(request)
71
- instrumenter = ActiveSupport::Notifications.instrumenter
72
- instrumenter.finish 'request.action_dispatch', request: request
73
- end
68
+ def finish(request)
69
+ instrumenter = ActiveSupport::Notifications.instrumenter
70
+ instrumenter.finish "request.action_dispatch", request: request
71
+ end
74
72
 
75
- def logger
76
- Rails.logger
77
- end
73
+ def logger
74
+ Rails.logger
75
+ end
78
76
  end
79
77
  end
80
78
  end