railties 4.2.0.beta4 → 4.2.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -1
- data/lib/rails/application.rb +19 -9
- data/lib/rails/application/bootstrap.rb +13 -0
- data/lib/rails/application/configuration.rb +11 -2
- data/lib/rails/code_statistics.rb +1 -0
- data/lib/rails/commands/dbconsole.rb +16 -1
- data/lib/rails/commands/destroy.rb +2 -0
- data/lib/rails/commands/generate.rb +2 -0
- data/lib/rails/configuration.rb +2 -2
- data/lib/rails/engine.rb +9 -6
- data/lib/rails/gem_version.rb +1 -1
- data/lib/rails/generators/app_base.rb +4 -13
- data/lib/rails/generators/erb/mailer/mailer_generator.rb +23 -2
- data/lib/rails/generators/erb/mailer/templates/layout.html.erb +5 -0
- data/lib/rails/generators/erb/mailer/templates/layout.text.erb +1 -0
- data/lib/rails/generators/rails/app/templates/Gemfile +1 -1
- data/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt +1 -1
- data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css +1 -1
- data/lib/rails/generators/rails/app/templates/bin/rails +1 -1
- data/lib/rails/generators/rails/app/templates/config.ru +1 -1
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +3 -2
- data/lib/rails/generators/rails/app/templates/gitignore +2 -1
- data/lib/rails/generators/rails/plugin/templates/rails/javascripts.js +1 -1
- data/lib/rails/generators/rails/plugin/templates/rails/stylesheets.css +1 -1
- data/lib/rails/info.rb +3 -0
- data/lib/rails/paths.rb +2 -2
- data/lib/rails/source_annotation_extractor.rb +2 -3
- data/lib/rails/tasks/statistics.rake +2 -1
- data/lib/rails/templates/rails/welcome/index.html.erb +1 -1
- data/lib/rails/test_unit/testing.rake +22 -4
- metadata +21 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 519bfb3b0886ff84ec44b002f52d73222ecc9206
|
4
|
+
data.tar.gz: 7e48cb155bb48412838653cb39be7d634a7589ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2fd29a2e7250ec1c3c95ecbca895f76947192a18181fcdffdc26b5738903efd7379aa7858e3bb947eff249492e4af3b3432e103690a003bb793bb1ad9e79a8b0
|
7
|
+
data.tar.gz: f31a4de2be716c3bd057cd00106fbf174f589ebbdfc1b9d4fba78c2e8e60e50fb22233363722d09877e84092bba6d509b47f0e5f67ba18153c7e8b0559d163d4
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,33 @@
|
|
1
|
+
* Generated migrations add the appropriate foreign key constraints to
|
2
|
+
references.
|
3
|
+
|
4
|
+
*Derek Prior*
|
5
|
+
|
6
|
+
* Deprecate different default for `log_level` in production.
|
7
|
+
|
8
|
+
*Godfrey Chan*, *Matthew Draper*
|
9
|
+
|
10
|
+
* Generated `.gitignore` excludes the whole `log/` directory, not only
|
11
|
+
`*.log` files.
|
12
|
+
|
13
|
+
*ShunsukeAida*
|
14
|
+
|
15
|
+
* `Rails::Paths::Path.unshift` now has the same interface as `Array.unshift`.
|
16
|
+
|
17
|
+
*Igor Kapkov*
|
18
|
+
|
19
|
+
* Make `rake test` run all tests in test folder.
|
20
|
+
|
21
|
+
Deprecate `rake test:all` and replace `rake test:all:db` with `rake test:db`
|
22
|
+
|
23
|
+
*David Geukers*
|
24
|
+
|
25
|
+
* `secret_token` is now saved in `Rails.application.secrets.secret_token`
|
26
|
+
and it falls back to the value of `config.secret_token` when it is not
|
27
|
+
present in `config/secrets.yml`.
|
28
|
+
|
29
|
+
*Benjamin Fleischer*
|
30
|
+
|
1
31
|
* Remove `--skip-action-view` option from `Rails::Generators::AppBase`.
|
2
32
|
|
3
33
|
Fixes #17023.
|
@@ -89,7 +119,7 @@
|
|
89
119
|
|
90
120
|
*Rafael Mendonça França*
|
91
121
|
|
92
|
-
* Add
|
122
|
+
* Add `--skip-turbolinks` option to the app generator.
|
93
123
|
|
94
124
|
*Rafael Mendonça França*
|
95
125
|
|
data/lib/rails/application.rb
CHANGED
@@ -88,6 +88,7 @@ module Rails
|
|
88
88
|
def inherited(base)
|
89
89
|
super
|
90
90
|
Rails.app_class = base
|
91
|
+
add_lib_to_load_path!(find_root(base.called_from))
|
91
92
|
end
|
92
93
|
|
93
94
|
def instance
|
@@ -98,6 +99,10 @@ module Rails
|
|
98
99
|
new(initial_variable_values, &block).run_load_hooks!
|
99
100
|
end
|
100
101
|
|
102
|
+
def find_root(from)
|
103
|
+
find_root_with_flag "config.ru", from, Dir.pwd
|
104
|
+
end
|
105
|
+
|
101
106
|
# Makes the +new+ method public.
|
102
107
|
#
|
103
108
|
# Note that Rails::Application inherits from Rails::Engine, which
|
@@ -129,8 +134,6 @@ module Rails
|
|
129
134
|
# are these actually used?
|
130
135
|
@initial_variable_values = initial_variable_values
|
131
136
|
@block = block
|
132
|
-
|
133
|
-
add_lib_to_load_path!
|
134
137
|
end
|
135
138
|
|
136
139
|
# Returns true if the application is initialized.
|
@@ -175,7 +178,7 @@ module Rails
|
|
175
178
|
key_generator = ActiveSupport::KeyGenerator.new(secrets.secret_key_base, iterations: 1000)
|
176
179
|
ActiveSupport::CachingKeyGenerator.new(key_generator)
|
177
180
|
else
|
178
|
-
ActiveSupport::LegacyKeyGenerator.new(
|
181
|
+
ActiveSupport::LegacyKeyGenerator.new(secrets.secret_token)
|
179
182
|
end
|
180
183
|
end
|
181
184
|
|
@@ -245,7 +248,7 @@ module Rails
|
|
245
248
|
super.merge({
|
246
249
|
"action_dispatch.parameter_filter" => config.filter_parameters,
|
247
250
|
"action_dispatch.redirect_filter" => config.filter_redirect,
|
248
|
-
"action_dispatch.secret_token" =>
|
251
|
+
"action_dispatch.secret_token" => secrets.secret_token,
|
249
252
|
"action_dispatch.secret_key_base" => secrets.secret_key_base,
|
250
253
|
"action_dispatch.show_exceptions" => config.action_dispatch.show_exceptions,
|
251
254
|
"action_dispatch.show_detailed_exceptions" => config.consider_all_requests_local,
|
@@ -313,8 +316,8 @@ module Rails
|
|
313
316
|
# are changing config.root inside your application definition or having a custom
|
314
317
|
# Rails application, you will need to add lib to $LOAD_PATH on your own in case
|
315
318
|
# you need to load files in lib/ during the application configuration as well.
|
316
|
-
def add_lib_to_load_path! #:nodoc:
|
317
|
-
path = File.join
|
319
|
+
def self.add_lib_to_load_path!(root) #:nodoc:
|
320
|
+
path = File.join root, 'lib'
|
318
321
|
if File.exist?(path) && !$LOAD_PATH.include?(path)
|
319
322
|
$LOAD_PATH.unshift(path)
|
320
323
|
end
|
@@ -358,7 +361,7 @@ module Rails
|
|
358
361
|
end
|
359
362
|
|
360
363
|
def config #:nodoc:
|
361
|
-
@config ||= Application::Configuration.new(
|
364
|
+
@config ||= Application::Configuration.new(self.class.find_root(self.class.called_from))
|
362
365
|
end
|
363
366
|
|
364
367
|
def config=(configuration) #:nodoc:
|
@@ -378,6 +381,8 @@ module Rails
|
|
378
381
|
|
379
382
|
# Fallback to config.secret_key_base if secrets.secret_key_base isn't set
|
380
383
|
secrets.secret_key_base ||= config.secret_key_base
|
384
|
+
# Fallback to config.secret_token if secrets.secret_token isn't set
|
385
|
+
secrets.secret_token ||= config.secret_token
|
381
386
|
|
382
387
|
secrets
|
383
388
|
end
|
@@ -507,8 +512,13 @@ module Rails
|
|
507
512
|
end
|
508
513
|
|
509
514
|
def validate_secret_key_config! #:nodoc:
|
510
|
-
if secrets.secret_key_base.blank?
|
511
|
-
|
515
|
+
if secrets.secret_key_base.blank?
|
516
|
+
ActiveSupport::Deprecation.warn "You didn't set `secret_key_base`. " +
|
517
|
+
"Read the upgrade documentation to learn more about this new config option."
|
518
|
+
|
519
|
+
if secrets.secret_token.blank?
|
520
|
+
raise "Missing `secret_token` and `secret_key_base` for '#{Rails.env}' environment, set these values in `config/secrets.yml`"
|
521
|
+
end
|
512
522
|
end
|
513
523
|
end
|
514
524
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require "active_support/notifications"
|
2
2
|
require "active_support/dependencies"
|
3
|
+
require "active_support/deprecation"
|
3
4
|
require "active_support/descendants_tracker"
|
4
5
|
|
5
6
|
module Rails
|
@@ -54,6 +55,18 @@ INFO
|
|
54
55
|
logger
|
55
56
|
end
|
56
57
|
|
58
|
+
if Rails.env.production? && !config.has_explicit_log_level?
|
59
|
+
ActiveSupport::Deprecation.warn \
|
60
|
+
"You did not specify a `log_level` in `production.rb`. Currently, " \
|
61
|
+
"the default value for `log_level` is `:info` for the production " \
|
62
|
+
"environment and `:debug` in all other environments. In Rails 5 " \
|
63
|
+
"the default value will be unified to `:debug` across all " \
|
64
|
+
"environments. To preserve the current setting, add the following " \
|
65
|
+
"line to your `production.rb`:\n" \
|
66
|
+
"\n" \
|
67
|
+
" config.log_level = :info\n\n"
|
68
|
+
end
|
69
|
+
|
57
70
|
Rails.logger.level = ActiveSupport::Logger.const_get(config.log_level.to_s.upcase)
|
58
71
|
end
|
59
72
|
|
@@ -15,7 +15,6 @@ module Rails
|
|
15
15
|
:time_zone, :reload_classes_only_on_change,
|
16
16
|
:beginning_of_week, :filter_redirect, :x
|
17
17
|
|
18
|
-
attr_writer :log_level
|
19
18
|
attr_reader :encoding
|
20
19
|
|
21
20
|
def initialize(*)
|
@@ -34,6 +33,7 @@ module Rails
|
|
34
33
|
@session_options = {}
|
35
34
|
@time_zone = "UTC"
|
36
35
|
@beginning_of_week = :monday
|
36
|
+
@has_explicit_log_level = false
|
37
37
|
@log_level = nil
|
38
38
|
@middleware = app_middleware
|
39
39
|
@generators = app_generators
|
@@ -117,8 +117,17 @@ module Rails
|
|
117
117
|
raise e, "Cannot load `Rails.application.database_configuration`:\n#{e.message}", e.backtrace
|
118
118
|
end
|
119
119
|
|
120
|
+
def has_explicit_log_level? # :nodoc:
|
121
|
+
@has_explicit_log_level
|
122
|
+
end
|
123
|
+
|
124
|
+
def log_level=(level)
|
125
|
+
@has_explicit_log_level = !!(level)
|
126
|
+
@log_level = level
|
127
|
+
end
|
128
|
+
|
120
129
|
def log_level
|
121
|
-
@log_level ||= :debug
|
130
|
+
@log_level ||= (Rails.env.production? ? :info : :debug)
|
122
131
|
end
|
123
132
|
|
124
133
|
def colorize_logging
|
@@ -44,7 +44,7 @@ module Rails
|
|
44
44
|
|
45
45
|
find_cmd_and_exec(['mysql', 'mysql5'], *args)
|
46
46
|
|
47
|
-
when
|
47
|
+
when /^postgres|^postgis/
|
48
48
|
ENV['PGUSER'] = config["username"] if config["username"]
|
49
49
|
ENV['PGHOST'] = config["host"] if config["host"]
|
50
50
|
ENV['PGPORT'] = config["port"].to_s if config["port"]
|
@@ -74,6 +74,21 @@ module Rails
|
|
74
74
|
|
75
75
|
find_cmd_and_exec('sqlplus', logon)
|
76
76
|
|
77
|
+
when "sqlserver"
|
78
|
+
args = []
|
79
|
+
|
80
|
+
args += ["-D", "#{config['database']}"] if config['database']
|
81
|
+
args += ["-U", "#{config['username']}"] if config['username']
|
82
|
+
args += ["-P", "#{config['password']}"] if config['password']
|
83
|
+
|
84
|
+
if config['host']
|
85
|
+
host_arg = "#{config['host']}"
|
86
|
+
host_arg << ":#{config['port']}" if config['port']
|
87
|
+
args += ["-S", host_arg]
|
88
|
+
end
|
89
|
+
|
90
|
+
find_cmd_and_exec("sqsh", *args)
|
91
|
+
|
77
92
|
else
|
78
93
|
abort "Unknown command-line client for #{config['database']}. Submit a Rails patch to add support!"
|
79
94
|
end
|
data/lib/rails/configuration.rb
CHANGED
@@ -18,11 +18,11 @@ module Rails
|
|
18
18
|
# This will put the <tt>Magical::Unicorns</tt> middleware on the end of the stack.
|
19
19
|
# You can use +insert_before+ if you wish to add a middleware before another:
|
20
20
|
#
|
21
|
-
# config.middleware.insert_before
|
21
|
+
# config.middleware.insert_before Rack::Head, Magical::Unicorns
|
22
22
|
#
|
23
23
|
# There's also +insert_after+ which will insert a middleware after another:
|
24
24
|
#
|
25
|
-
# config.middleware.insert_after
|
25
|
+
# config.middleware.insert_after Rack::Head, Magical::Unicorns
|
26
26
|
#
|
27
27
|
# Middlewares can also be completely swapped out and replaced with others:
|
28
28
|
#
|
data/lib/rails/engine.rb
CHANGED
@@ -110,8 +110,8 @@ module Rails
|
|
110
110
|
#
|
111
111
|
# == Endpoint
|
112
112
|
#
|
113
|
-
# An engine can be
|
114
|
-
# you would like to wrap with +Engine+ and provide some of the +Engine+'s features.
|
113
|
+
# An engine can also be a rack application. It can be useful if you have a rack application that
|
114
|
+
# you would like to wrap with +Engine+ and provide with some of the +Engine+'s features.
|
115
115
|
#
|
116
116
|
# To do that, use the +endpoint+ method:
|
117
117
|
#
|
@@ -351,7 +351,7 @@ module Rails
|
|
351
351
|
|
352
352
|
base.called_from = begin
|
353
353
|
call_stack = if Kernel.respond_to?(:caller_locations)
|
354
|
-
caller_locations.map(&:
|
354
|
+
caller_locations.map(&:absolute_path)
|
355
355
|
else
|
356
356
|
# Remove the line number from backtraces making sure we don't leave anything behind
|
357
357
|
caller.map { |p| p.sub(/:\d+.*/, '') }
|
@@ -364,6 +364,10 @@ module Rails
|
|
364
364
|
super
|
365
365
|
end
|
366
366
|
|
367
|
+
def find_root(from)
|
368
|
+
find_root_with_flag "lib", from
|
369
|
+
end
|
370
|
+
|
367
371
|
def endpoint(endpoint = nil)
|
368
372
|
@endpoint ||= nil
|
369
373
|
@endpoint = endpoint if endpoint
|
@@ -531,7 +535,7 @@ module Rails
|
|
531
535
|
|
532
536
|
# Define the configuration object for the engine.
|
533
537
|
def config
|
534
|
-
@config ||= Engine::Configuration.new(
|
538
|
+
@config ||= Engine::Configuration.new(self.class.find_root(self.class.called_from))
|
535
539
|
end
|
536
540
|
|
537
541
|
# Load data from db/seeds.rb file. It can be used in to load engines'
|
@@ -658,8 +662,7 @@ module Rails
|
|
658
662
|
paths["db/migrate"].existent.any?
|
659
663
|
end
|
660
664
|
|
661
|
-
def find_root_with_flag(flag, default=nil) #:nodoc:
|
662
|
-
root_path = self.class.called_from
|
665
|
+
def self.find_root_with_flag(flag, root_path, default=nil) #:nodoc:
|
663
666
|
|
664
667
|
while root_path && File.directory?(root_path) && !File.exist?("#{root_path}/#{flag}")
|
665
668
|
parent = File.dirname(root_path)
|
data/lib/rails/gem_version.rb
CHANGED
@@ -237,13 +237,10 @@ module Rails
|
|
237
237
|
|
238
238
|
gems = []
|
239
239
|
if options.dev? || options.edge?
|
240
|
-
gems << GemfileEntry.github('sprockets-rails', 'rails/sprockets-rails',
|
241
|
-
'Use edge version of sprockets-rails')
|
242
240
|
gems << GemfileEntry.github('sass-rails', 'rails/sass-rails',
|
243
241
|
'Use SCSS for stylesheets')
|
244
242
|
else
|
245
|
-
gems << GemfileEntry.version('sass-rails',
|
246
|
-
'~> 5.0.0.beta1',
|
243
|
+
gems << GemfileEntry.version('sass-rails', '~> 4.0',
|
247
244
|
'Use SCSS for stylesheets')
|
248
245
|
end
|
249
246
|
|
@@ -278,14 +275,8 @@ module Rails
|
|
278
275
|
[]
|
279
276
|
else
|
280
277
|
gems = [coffee_gemfile_entry, javascript_runtime_gemfile_entry]
|
281
|
-
|
282
|
-
|
283
|
-
gems << GemfileEntry.version('jquery-rails', '~> 4.0.0.beta2',
|
284
|
-
'Use jQuery as the JavaScript library')
|
285
|
-
else
|
286
|
-
gems << GemfileEntry.version("#{options[:javascript]}-rails", nil,
|
287
|
-
"Use #{options[:javascript]} as the JavaScript library")
|
288
|
-
end
|
278
|
+
gems << GemfileEntry.version("#{options[:javascript]}-rails", nil,
|
279
|
+
"Use #{options[:javascript]} as the JavaScript library")
|
289
280
|
|
290
281
|
unless options[:skip_turbolinks]
|
291
282
|
gems << GemfileEntry.version("turbolinks", nil,
|
@@ -342,7 +333,7 @@ module Rails
|
|
342
333
|
end
|
343
334
|
|
344
335
|
def spring_install?
|
345
|
-
!options[:skip_spring] && Process.respond_to?(:fork)
|
336
|
+
!options[:skip_spring] && Process.respond_to?(:fork) && !RUBY_PLATFORM.include?("cygwin")
|
346
337
|
end
|
347
338
|
|
348
339
|
def run_bundle
|
@@ -1,8 +1,29 @@
|
|
1
|
-
require 'rails/generators/erb
|
1
|
+
require 'rails/generators/erb'
|
2
2
|
|
3
3
|
module Erb # :nodoc:
|
4
4
|
module Generators # :nodoc:
|
5
|
-
class MailerGenerator <
|
5
|
+
class MailerGenerator < Base # :nodoc:
|
6
|
+
argument :actions, type: :array, default: [], banner: "method method"
|
7
|
+
|
8
|
+
def copy_view_files
|
9
|
+
view_base_path = File.join("app/views", class_path, file_name)
|
10
|
+
empty_directory view_base_path
|
11
|
+
|
12
|
+
formats.each do |format|
|
13
|
+
layout_path = File.join("app/views/layouts", filename_with_extensions("mailer", format))
|
14
|
+
template filename_with_extensions(:layout, format), layout_path
|
15
|
+
end
|
16
|
+
|
17
|
+
actions.each do |action|
|
18
|
+
@action = action
|
19
|
+
|
20
|
+
formats.each do |format|
|
21
|
+
@path = File.join(view_base_path, filename_with_extensions(action, format))
|
22
|
+
template filename_with_extensions(:view, format), @path
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
6
27
|
protected
|
7
28
|
|
8
29
|
def formats
|
@@ -0,0 +1 @@
|
|
1
|
+
<%%= yield %>
|
@@ -32,7 +32,7 @@ group :development, :test do
|
|
32
32
|
<%- end -%>
|
33
33
|
|
34
34
|
# Access an IRB console on exception pages or by using <%%= console %> in views
|
35
|
-
gem 'web-console', '~> 2.0
|
35
|
+
gem 'web-console', '~> 2.0'
|
36
36
|
<%- if spring_install? %>
|
37
37
|
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
38
38
|
gem 'spring'
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// listed below.
|
3
3
|
//
|
4
4
|
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
-
// or vendor/assets/javascripts
|
5
|
+
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
6
6
|
//
|
7
7
|
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
8
|
// compiled file.
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* listed below.
|
4
4
|
*
|
5
5
|
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
-
* or vendor/assets/stylesheets
|
6
|
+
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
7
7
|
*
|
8
8
|
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
9
9
|
* compiled file so the styles you add here take precedence over styles defined in any styles
|
@@ -45,8 +45,9 @@ Rails.application.configure do
|
|
45
45
|
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
46
46
|
# config.force_ssl = true
|
47
47
|
|
48
|
-
#
|
49
|
-
#
|
48
|
+
# Use the lowest log level to ensure availability of diagnostic information
|
49
|
+
# when problems arise.
|
50
|
+
config.log_level = :debug
|
50
51
|
|
51
52
|
# Prepend all log lines with the following tags.
|
52
53
|
# config.log_tags = [ :subdomain, :uuid ]
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// listed below.
|
3
3
|
//
|
4
4
|
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
-
// or vendor/assets/javascripts
|
5
|
+
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
6
6
|
//
|
7
7
|
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
8
|
// compiled file.
|
@@ -3,7 +3,7 @@
|
|
3
3
|
* listed below.
|
4
4
|
*
|
5
5
|
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
-
* or vendor/assets/stylesheets
|
6
|
+
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
7
7
|
*
|
8
8
|
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
9
9
|
* compiled file so the styles you add here take precedence over styles defined in any styles
|
data/lib/rails/info.rb
CHANGED
@@ -1,6 +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
7
|
module Info
|
5
8
|
mattr_accessor :properties
|
6
9
|
class << (@@properties = [])
|
data/lib/rails/paths.rb
CHANGED
@@ -80,9 +80,8 @@ class SourceAnnotationExtractor
|
|
80
80
|
|
81
81
|
# Returns a hash that maps filenames under +dir+ (recursively) to arrays
|
82
82
|
# with their annotations. Only files with annotations are included. Files
|
83
|
-
# with extension +.builder+, +.rb+, +.
|
84
|
-
# +.
|
85
|
-
# are taken into account.
|
83
|
+
# with extension +.builder+, +.rb+, +.rake+, +.yml+, +.yaml+, +.ruby+,
|
84
|
+
# +.css+, +.js+ and +.erb+ are taken into account.
|
86
85
|
def find_in(dir)
|
87
86
|
results = {}
|
88
87
|
|
@@ -14,10 +14,11 @@ STATS_DIRECTORIES = [
|
|
14
14
|
%w(Helper\ tests test/helpers),
|
15
15
|
%w(Model\ tests test/models),
|
16
16
|
%w(Mailer\ tests test/mailers),
|
17
|
+
%w(Job\ tests test/jobs),
|
17
18
|
%w(Integration\ tests test/integration),
|
18
19
|
%w(Functional\ tests\ (old) test/functional),
|
19
20
|
%w(Unit\ tests \ (old) test/unit)
|
20
|
-
].collect do |name, dir|
|
21
|
+
].collect do |name, dir|
|
21
22
|
[ name, "#{File.dirname(Rake.application.rakefile_location)}/#{dir}" ]
|
22
23
|
end.select { |name, dir| File.directory?(dir) }
|
23
24
|
|
@@ -237,7 +237,7 @@
|
|
237
237
|
|
238
238
|
<ol>
|
239
239
|
<li>
|
240
|
-
<h2>Use <code>rails generate</code> to create your models and controllers</h2>
|
240
|
+
<h2>Use <code>bin/rails generate</code> to create your models and controllers</h2>
|
241
241
|
<p>To see all available options, run it without parameters.</p>
|
242
242
|
</li>
|
243
243
|
|
@@ -3,27 +3,45 @@ require 'rails/test_unit/sub_test_task'
|
|
3
3
|
|
4
4
|
task default: :test
|
5
5
|
|
6
|
-
desc
|
6
|
+
desc "Runs all tests in test folder"
|
7
7
|
task :test do
|
8
8
|
Rails::TestTask.test_creator(Rake.application.top_level_tasks).invoke_rake_task
|
9
9
|
end
|
10
10
|
|
11
11
|
namespace :test do
|
12
12
|
task :prepare do
|
13
|
-
# Placeholder task for other Railtie and plugins to enhance.
|
13
|
+
# Placeholder task for other Railtie and plugins to enhance.
|
14
|
+
# If used with Active Record, this task runs before the database schema is synchronized.
|
14
15
|
end
|
15
16
|
|
16
|
-
|
17
|
+
Rails::TestTask.new(:run) do |t|
|
18
|
+
t.pattern = "test/**/*_test.rb"
|
19
|
+
end
|
20
|
+
|
21
|
+
desc "Run tests quickly, but also reset db"
|
22
|
+
task :db => %w[db:test:prepare test]
|
17
23
|
|
18
|
-
# Inspired by: http://ngauthier.com/2012/02/quick-tests-with-bash.html
|
19
24
|
desc "Run tests quickly by merging all types and not resetting db"
|
20
25
|
Rails::TestTask.new(:all) do |t|
|
21
26
|
t.pattern = "test/**/*_test.rb"
|
22
27
|
end
|
23
28
|
|
29
|
+
Rake::Task["test:all"].enhance do
|
30
|
+
Rake::Task["test:deprecate_all"].invoke
|
31
|
+
end
|
32
|
+
|
33
|
+
task :deprecate_all do
|
34
|
+
ActiveSupport::Deprecation.warn "rake test:all is deprecated and will be removed in Rails 5. " \
|
35
|
+
"Use rake test to run all tests in test directory."
|
36
|
+
end
|
37
|
+
|
24
38
|
namespace :all do
|
25
39
|
desc "Run tests quickly, but also reset db"
|
26
40
|
task :db => %w[db:test:prepare test:all]
|
41
|
+
|
42
|
+
Rake::Task["test:all:db"].enhance do
|
43
|
+
Rake::Task["test:deprecate_all"].invoke
|
44
|
+
end
|
27
45
|
end
|
28
46
|
|
29
47
|
Rails::TestTask.new(single: "test:prepare")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: railties
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.2.0.
|
4
|
+
version: 4.2.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,60 +16,60 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 4.2.0.
|
19
|
+
version: 4.2.0.rc1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 4.2.0.
|
26
|
+
version: 4.2.0.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: actionpack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 4.2.0.
|
33
|
+
version: 4.2.0.rc1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 4.2.0.
|
40
|
+
version: 4.2.0.rc1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 0.8.7
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.8.7
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: thor
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 0.18.1
|
62
|
-
- - <
|
62
|
+
- - "<"
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: '2.0'
|
65
65
|
type: :runtime
|
66
66
|
prerelease: false
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- -
|
69
|
+
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: 0.18.1
|
72
|
-
- - <
|
72
|
+
- - "<"
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '2.0'
|
75
75
|
- !ruby/object:Gem::Dependency
|
@@ -78,14 +78,14 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - '='
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 4.2.0.
|
81
|
+
version: 4.2.0.rc1
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - '='
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 4.2.0.
|
88
|
+
version: 4.2.0.rc1
|
89
89
|
description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
|
90
90
|
email: david@loudthinking.com
|
91
91
|
executables:
|
@@ -144,6 +144,8 @@ files:
|
|
144
144
|
- lib/rails/generators/erb/controller/controller_generator.rb
|
145
145
|
- lib/rails/generators/erb/controller/templates/view.html.erb
|
146
146
|
- lib/rails/generators/erb/mailer/mailer_generator.rb
|
147
|
+
- lib/rails/generators/erb/mailer/templates/layout.html.erb
|
148
|
+
- lib/rails/generators/erb/mailer/templates/layout.text.erb
|
147
149
|
- lib/rails/generators/erb/mailer/templates/view.html.erb
|
148
150
|
- lib/rails/generators/erb/mailer/templates/view.text.erb
|
149
151
|
- lib/rails/generators/erb/scaffold/scaffold_generator.rb
|
@@ -339,23 +341,23 @@ licenses:
|
|
339
341
|
metadata: {}
|
340
342
|
post_install_message:
|
341
343
|
rdoc_options:
|
342
|
-
- --exclude
|
343
|
-
- .
|
344
|
+
- "--exclude"
|
345
|
+
- "."
|
344
346
|
require_paths:
|
345
347
|
- lib
|
346
348
|
required_ruby_version: !ruby/object:Gem::Requirement
|
347
349
|
requirements:
|
348
|
-
- -
|
350
|
+
- - ">="
|
349
351
|
- !ruby/object:Gem::Version
|
350
352
|
version: 1.9.3
|
351
353
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
352
354
|
requirements:
|
353
|
-
- -
|
355
|
+
- - ">"
|
354
356
|
- !ruby/object:Gem::Version
|
355
357
|
version: 1.3.1
|
356
358
|
requirements: []
|
357
359
|
rubyforge_project:
|
358
|
-
rubygems_version: 2.2.
|
360
|
+
rubygems_version: 2.2.2
|
359
361
|
signing_key:
|
360
362
|
specification_version: 4
|
361
363
|
summary: Tools for creating, working with, and running Rails applications.
|