railties 4.2.0.beta4 → 4.2.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|