Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: rails/rails
...
head fork: rails/rails
This comparison is big! We're only showing the most recent 250 commits
Commits on Feb 12, 2015
Aaron Patterson tenderlove there is always an integration session, so remove the check 4cf3b8a
Aaron Patterson tenderlove remove meta programming
there's really no benefit here.  It's the same number of lines without
the meta programming and is faster
b03b09d
Ville Lautanala lautis Handle non-string authenticity tokens
Non-string authenticity tokens raised NoMethodError when decoding the
masked token.
bf067b4
Wojciech Wnętrzak morgoth Do not overwrite secret token value when already present.
```
user = User.create(token: "custom-secure-token")
user.token # => "custom-secure-token"
```
0817bb0
Andrew Lazarus require rack/utils in exception_wrapper 85842c5
Commits on Feb 13, 2015
Arthur Nogueira Neves arthurnn Merge pull request #18919 from nerdrew/missing-rack-utils-require
require rack/utils in exception_wrapper
1ca13b4
yui-knk yui-knk [ci skip] escape under score 6b4c5ae
Guo Xiang Tan tgxworld Do not recommend `xhr` since it is going to be deprecated. dbf38a0
Guo Xiang Tan tgxworld Improve deprecation message. aca4c82
Yves Senn senny Merge pull request #18922 from yui-knk/fix/action_controller_overview
[ci skip] escape under score
9e30346
Yves Senn senny Merge pull request #18918 from morgoth/do-not-overwrite-value-of-secr…
…et-token-when-present

Do not overwrite secret token value when already present.
d0326bb
Yves Senn senny remove CHANGELOG entry for Rails 5.0 only feature. #18918
`has_secure_token` hasen't been released yet. No need to track
every change in the CHANGELOG.
57a1d2b
Kasper Timm Hansen kaspth Merge pull request #18923 from tgxworld/fix_deprecation_warning_message
Improve deprecation warning message
7ce3174
Guo Xiang Tan tgxworld Correct module name in deprecation message. 899e10f
Kasper Timm Hansen kaspth Merge pull request #18924 from tgxworld/correct_module_in_depre_msg
Correct module name in deprecation message.
cc08de8
Rafael Mendonça França rafaelfranca Merge pull request #16381 from kakipo/validate-length-tokenizer
Allow symbol as values for `tokenizer` of `LengthValidator`
7919c29
Arthur Nogueira Neves arthurnn Add missing comma 6213332
Commits on Feb 14, 2015
Godfrey Chan chancancode Enums should be referred to by symbols
Also updated the documentation about the new ability to query them normally,
and added test to make sure they work!
ae33aea
Godfrey Chan chancancode Enums mapping is a HWIA [ci skip]
The previous edit kind of de-emphasized that, so changing it to be more explict.
(It also avoids showing it as if it's a string-keyed hash.)
91f4319
Godfrey Chan chancancode oops, 'format' is not a real enum 3dfd1ba
Godfrey Chan chancancode Break up these tests
Make sure we have coverage for both the find/build cases
58adda3
Godfrey Chan chancancode Partially revert ae33aea
Using enum names in SQL strings doesn't actually work, the test was wrong (fixed
in 3dfd1ba).
53f3803
Thiago Pradi tchandy Updating Query Tracer github repository a9e200b
Godfrey Chan chancancode Fixed a bug where NULLs are casted into the first enum value e076d72
Godfrey Chan chancancode Mention `where.not` in the example
...so it doesn't look like you *have* to use SQL strings for that case (not
anymore!). Would like to replace the SQL string example with something that
you cannot do with the "normal" query API, but I could not come up with a
short, realistic example. Suggestions welcome!
698afe1
Vijay Dev vijaydev Merge branch 'master' of github.com:rails/docrails 95546d4
Arthur Nogueira Neves arthurnn Merge pull request #18938 from tchandy/updating_query_tracer_link
Updating Query Tracer github repository
676d4ae
Commits on Feb 15, 2015
y-yagi y-yagi fix syntax error in render partial example [ci skip] cf7b677
Abdelkader Boudih seuros Merge pull request #18945 from y-yagi/layouts_and_rendering_guide
fix syntax error in render partial example [ci skip]
66a30dc
Arthur Nogueira Neves arthurnn Implement http_cache_forever to ActionController
Add http_cache_forever to ActionController, so we can cache results
forever.
Things like static pages are a good candidate for this type of caching.

This cache only controls caching headers, so it is up to the browser to
cache those requests.
2ed3942
Arthur Nogueira Neves arthurnn Merge pull request #18394 from arthurnn/http_cache_forever
Implement http_cache_forever to ActionController
e825042
Anton Davydov davydovanton Added default values for #format_paragraph docs [skip ci] 44a49e5
Zachary Scott zzak Merge pull request #18946 from davydovanton/format-paragraph-default-…
…params

Added default values for #format_paragraph docs [skip ci]
3960908
Robin Dupret robin850 Tiny documentation edits [ci skip] 1747c4e
Jure Žove jurezove Add Gemfile.lock to plugin's gitignore template 2b1ea14
Sean Griffin sgrif Add a global type registry, used to lookup and register types
As per previous discussions, we want to give users the ability to
reference their own types with symbols, instead of having to pass the
object manually. This adds the class that will be used to do so.

    ActiveRecord::Type.register(:money, MyMoneyType)
8c837e5
Sean Griffin sgrif Register adapter specific types with the global type registry
We do this in the adapter classes specifically, so the types aren't
registered if we don't use that adapter. Constants under the PostgreSQL
namespace for example are never loaded if we're using mysql.
265dcb7
Guillermo Iguaran guilleiguaran Merge pull request #18951 from jurezove/gemfile-lock-to-plugin-gitign…
…ore-template

Add Gemfile.lock to plugin's gitignore template
b824dfd
Commits on Feb 16, 2015
Yves Senn senny fix, `to_table` in `remove_foreign_key` should be plural. 8980da8
Yves Senn senny Merge pull request #18662 from estum/foreign-key-exists
Add `foreign_key_exists?` method.
6bd777c
Mehdi Lahmam mehlah Allow to pass a string value to size option in `image_tag` and `video…
…_tag`

This makes the behavior more consistent with `width` or `height` options
ab5f119
Yves Senn senny Merge pull request #18949 from craftsmen/image_tag_size
Allow to pass a string value to size option in `image_tag` and `video_tag`
7b75551
Andrey Nering andreynering Improving remote forms guides [ci skip] f811461
Phill Baker phillbaker Remove unused Rails::Server#log_path e2530ca
Zachary Scott zzak Merge pull request #18958 from andreynering/guides-form-remote
Improving remote forms guides [ci skip]
3889363
Zachary Scott zzak Merge pull request #18815 from tmingos/patch-1
Correct pluralization error
baf571d
Zachary Scott zzak Merge pull request #18679 from adipra3n/master
Add web console in debugging rails applications guide [ci skip]
ba85021
Zachary Scott zzak Merge pull request #18485 from andreynering/robots.txt
Adding 'Search Engines Indexing' Section [ci skip]
d9f8b58
Todd Bealmear todd Remove RecordTagHelper, add extraction notices
Per DHH in #18337, ActionView::Helpers::RecordTagHelper has been
extracted to an external gem (source currently lives at
todd/record_tag_helper). Removal notices have also been added for anyone
upgrading that use the extracted methods.
01e94ef
Carlos Antonio da Silva carlosantoniodasilva Merge pull request #18959 from phillbaker/cleanup/server-log-path
Remove unused Rails::Server#log_path
4954417
Case Taintor ctaintor removes docs for dependency_loading config option and disable_depende…
…ncy_loading initializer because it was removed by commit a8bf129
c732a66
Zachary Scott zzak Merge pull request #18960 from ctaintor/remove_dependency_doc
removes documentation that is no longer relevant
05b6e5d
Aaron Patterson tenderlove Revert "Don't unhook autoloading in production"
This reverts commit a8bf129.
a71350c
Zachary Scott zzak Revert c732a66:
* "rm docs for dependency_loading and disable_dependency_loading config"

It was added back in a71350c by @tenderlove

See also #13142
de53726
Commits on Feb 17, 2015
Vipul A M vipulnsward Deprecated passing of `start` value to `find_in_batches` and `find_ea…
…ch` in favour of `begin_at` value.
6598272
Yves Senn senny Merge pull request #18961 from vipulnsward/deprecate-start-value
Deprecated passing of `start` value to `find_in_batches` and `find_each`
5ff0805
Nithin Bekal nithinbekal Add documentation for local_assigns [ci skip] 3e66017
y-yagi y-yagi correct method name in deprecation message c76de78
Eileen M. Uchitelle eileencodes Merge branch 'y-yagi-fix_deprecate_msg' df3fc94
Sean Griffin sgrif Revert "Allow `:precision` option for time type columns"
This reverts commit 1502cae.

The test suite for the mysql adapter broke when this commit was used
with MySQL 5.6.

Conflicts:
	activerecord/CHANGELOG.md
89ba5bb
Sean Griffin sgrif Update code which depended on methods added by 1502cae afb70c2
Sean Griffin sgrif Fix test failures on Mysql 5.5 cdf4fa9
Sean Griffin sgrif Add line endings to files which are missing them
These files get modified whenever someone uses a tool like `sed`. Let's
just get this over with in one commit so it'd not adding diff noise to
something else.
b3fdf9c
Sean Griffin sgrif `Type#type_cast_from_database` -> `Type#deserialize` 4a3cb84
Sean Griffin sgrif `type_cast_for_database` -> `serialize` 1455c4c
Sean Griffin sgrif `type_cast_from_user` -> `cast` 9ca6948
Sean Griffin sgrif Rm `Type#type_cast`
This helper no longer makes sense as a separate method. Instead I'll
just have `deserialize` call `cast` by default. This led to a random
infinite loop in the `JSON` pg type, when it called `super` from
`deserialize`. Not really a great way to fix that other than not calling
super, or continuing to have the separate method, which makes the public
API differ from what we say it is.
ad127d8
Sean Griffin sgrif Add docs for the type registry 82d12eb
Zachary Scott zzak Merge pull request #18843 from yuki24/guides-add-guide-for-mail-preview
Add guide for Action Mailer Previews
af59f6d
Commits on Feb 18, 2015
Nicolas Maloeuvre fix type in guide - missing word b4c3a77
Zachary Scott zzak Merge pull request #18980 from nicolasmlv/fix-typo-in-guide
fix typo in guide - missing word
1e27e7d
Yves Senn senny prefer `drop_table if_exists: true` over raw SQL.
/cc @yahonda

This makes it easier for third party adapters to run our tests,
even if that database does not support IF EXISTS.
07b659c
Konstantinos Rousis rousisk Replace deprecated readonly option with scope blocks in docs and guide 6ef2ce0
Xavier Noria fxn constants guide: adds a step to a resolution algorithm
Not sure how this one slipped, maybe deleted by accident while editing or
something. Anyway, fixed.
9814eb6
Ryuta Kamizono kamipo Prefer `drop_table if_exists: true` over raw SQL
Lowercase raw SQL has been replaced by 07b659c already. This commit
replaces everything else of raw SQL.
af64c82
Carlos Antonio da Silva carlosantoniodasilva Merge pull request #18987 from kamipo/prefer_drop_table_if_exists_tru…
…e_over_raw_sql

Prefer `drop_table if_exists: true` over raw SQL
b5ce186
Carlos Antonio da Silva carlosantoniodasilva Merge pull request #18984 from rousisk/master
Replace deprecated readonly option with scope blocks in docs and guide
28fccad
hjoo hjoo Add `time` option to `#touch`
Fixes #18905. `#touch` now takes time as an option. Setting the option
saves the record with the updated_at/on attributes set to the current time
or the time specified. Updated tests and documentation accordingly.
219d71f
Rafael Mendonça França rafaelfranca Track Gemfile.lock at the repository
The main reason is to make bisect easier.

In some points, we have a lot of git dependencies. Since we don't have
the information of which commit we are referring to, bundler get the
latest commit of the master branch of the dependency. This sometimes
returns a version that is not compatible with Rails anymore, making the
tests fail and the harder to identify the commit that introduced a bug.

Also this will make sure that a contributor will always get a set of
dependencies that are passing with our tests.

In our CI server we delete the lock file to make sure we are always
testing against the newest release of our dependencies.
b1edc37
Rafael Mendonça França rafaelfranca Revert "Merge pull request #18951 from jurezove/gemfile-lock-to-plugi…
…n-gitignore-template"

This reverts commit b824dfd, reversing
changes made to 265dcb7.

Our general recommendation is to check in the lock file in the
repository.

This make possible to developers and contributors of a plugin always run
their tests against a working set of dependencies.

Also, bisect is a lot easier, specially if you have git dependencies in your
Gemfile.
0ad6d27
Rafael Mendonça França rafaelfranca Merge pull request #18992 from rails/rm-track-lock-file
Track Gemfile.lock at the repository
a845abd
Rafael Mendonça França rafaelfranca Talk about Gemfile.lock in the contributing guide
[ci skip]
ef4afb6
Rafael Mendonça França rafaelfranca Merge pull request #15700 from maurogeorge/guides-local_assigns
Add docs about local_assigns on guides
e07eb07
Rafael Mendonça França rafaelfranca Improve documentation of local_assigns 02b9557
Rafael Mendonça França rafaelfranca Merge pull request #18970 from nithinbekal/local-assigns-doc
Add documentation for local_assigns [ci skip]
3bd7c29
Rafael Mendonça França rafaelfranca Add nodoc to private constant [ci skip] c407693
Rafael Mendonça França rafaelfranca Merge pull request #18634 from morgoth/deprecate-some-errors-methods
Deprecate `ActiveModel::Errors` `get`, `set` and `[]=` methods.
3c750c4
Rafael Mendonça França rafaelfranca Merge pull request #18393 from y-yagi/fix_mailer
follow up to #18074
39c936b
Rafael Mendonça França rafaelfranca Merge pull request #18411 from todd/extract_record_tag_helper
Remove RecordTagHelper
4ffe46f
Rafael Mendonça França rafaelfranca Merge pull request #18917 from lautis/non-string-csrf-token
Handle non-string authenticity tokens
fb876b8
Rafael Mendonça França rafaelfranca Try only to decode strings
This approach will avoid us to check for NoMethodError when trying to
decode
d0303d0
Eileen M. Uchitelle eileencodes Merge pull request #18956 from hjoo/time_option
Add `time` option to `#touch
83be869
perceptec perceptec Add `ActiveRecord::Base.suppress` b9a1e9a
Eileen M. Uchitelle eileencodes Reduce the number of times `#clean_path_info` is called
It's unnecessary to call `#clean_path_info`. It doesn't need to be
called on the path with each extension. This reduces allocations to
`Rack::Utils` in integration tests.

Before `#clean_path_info` from `Rack::Utils` (line 622) was number 2
in top 5 allocations:
```
[["rack/lib/rack/utils.rb", 499, :T_STRING], [51034, 4539, 71559, 0, 12, 1791120]]
[["rack/lib/rack/utils.rb", 662, :T_STRING], [33012, 0, 27930, 0, 1, 1226009]]
[["rails/activesupport/lib/active_support/notifications/fanout.rb", 55, :T_DATA], [29998, 0, 25380, 0, 1, 3230600]]
[["rails/activesupport/lib/active_support/subscriber.rb", 99, :T_STRING], [29996, 0, 25378, 0, 2, 1113840]]
[["rails/activesupport/lib/active_support/notifications/instrumenter.rb", 52, :T_HASH], [29994, 147, 27014, 0, 11, 4897784]]
```

After `#clean_path_info` from `Rack::Utils` (line 622) does not appear
in the top 5 highest allocations:
```
[["rack/lib/rack/utils.rb", 499, :T_STRING], [47617, 2414, 68969, 0, 12, 1667360]]
[["rack/lib/rack/body_proxy.rb", 34, :T_ARRAY], [28230, 0, 26060, 0, 1, 1046800]]
[["rails/activesupport/lib/active_support/notifications/fanout.rb", 55, :T_DATA], [28208, 0, 26042, 0, 1, 3034096]]
[["rails/activesupport/lib/active_support/subscriber.rb", 99, :T_STRING], [28204, 0, 26040, 0, 1, 1046080]]
[["rails/activesupport/lib/active_support/callbacks.rb", 165, :T_DATA], [28200, 0, 26046, 0, 2, 3451800]]
```
e334417
Eileen M. Uchitelle eileencodes Freeze strings to reduce allocations in integration tests
Moves `X-Request-ID`, `action_dispatch.request_id` and
`HTTP_X_REQUEST_ID` strings to constants and freezes them.

We are freezing these strings to reduce the number of allocations in
Rails integration tests. The tests are spending a lot of time in GC and
this reduces the amount of time spent from 12% to 9% (in combination
with Rack PR that also freezes some strings).

Number of allocations before this change: 1030722
Number of allocations after this change: 967722
95ee938
Commits on Feb 19, 2015
Guo Xiang Tan tgxworld Allow Rack::Runtime to be deleted from middleware stack.
Fixes: #16433.
a39498a
Josef Šimánek simi Remove unused gsub_app_file method from Bukkit. 6447309
Ryuta Kamizono kamipo Should handle array option for `:cast_as` 949b133
Ryuta Kamizono kamipo Use `delegate` to call the methods to `@conn` 7ba2cd0
Ryuta Kamizono kamipo Handle array option in `type_to_sql`
`[]` is a part of `sql_type`, so it is always necessary to respect to
array option when `type_to_sql` is called.
9ec2d4a
Guillermo Iguaran guilleiguaran Merge pull request #18999 from simi/remove-unused-gsub_app_file
Remove unused gsub_app_file method from Bukkit.
22a347d
Guillermo Iguaran guilleiguaran Merge pull request #18994 from tgxworld/run_delete_middleware_operati…
…ons_last

Allow Rack::Runtime to be deleted from middleware stack.
06d5d2c
Ryuta Kamizono kamipo Extract precision from datetime and time columns
The cause by which the test suite for the mysql adapter broke in 1502cae
(reverted 89ba5bb) is because the precision was not extracted.

The rounding problem in mysql adapter has not been fixed, but `mysql_56`
helper tested only mysql2 adapter, its behavior was not apparent.
4b38a99
Rafael Mendonça França rafaelfranca Merge pull request #18910 from perceptec/add_suppressor
Add `ActiveRecord::Base.suppress` to allow save events to be suppressed within a specified block.
41b9730
Rafael Mendonça França rafaelfranca Copy edit the suppressor documentation
[ci skip]
e28721b
Rafael Mendonça França rafaelfranca Return true instead of self when suppressed
save is documented to return singletons so we should always return a
singleton.
4f56a1d
Rafael Mendonça França rafaelfranca Do not mutate the operations array 6ad28a7
Rafael Mendonça França rafaelfranca Merge pull request #18979 from kamipo/extract_precision_from_datetime…
…_and_time_columns

Extract precision from datetime and time columns
b8101af
Rafael Mendonça França rafaelfranca Merge pull request #18916 from kamipo/handle_array_option_in_type_to_sql
Handle array option in `type_to_sql`
ad5834f
Wojciech Wnętrzak morgoth Deprecate `ActiveModel::Errors` `add_on_empty` and `add_on_blank` met…
…hods

without replacement.
fd38838
Yves Senn senny Merge pull request #18996 from morgoth/deprecate-more-errors-methods
Deprecate `ActiveModel::Errors` `add_on_empty` and `add_on_blank` methods
259d33d
Bart bdewater Fix code sample for custom exception handler [ci skip] c2f59f3
Abdelkader Boudih seuros Merge pull request #19002 from bdewater/patch-1
Fix code sample for custom exception handler to match text [ci skip]
0b09261
Daniël de Vries danieldevries fix column name in migration example [ci skip] 5d463bd
Abdelkader Boudih seuros Merge pull request #19004 from danieldevries/fix-migration-fieldname-…
…in-example

fix column name in migration example [ci skip]
108fcbc
meganemura meganemura Remove last empty line when we don't use Windows or JRuby 740c0f0
Rafael Mendonça França rafaelfranca Merge pull request #19005 from meganemura/remove-last-empty-line-in-g…
…emfile

Remove last empty line when we don't use Windows or JRuby
da2987a
Evan Phoenix evanphx Cache url_helpers instead of creating each time
This has 2 effects:

1. RoutesProxy is CRAZY faster because it's no longer creating a new
Module each time method_missing is hit.
2. It bypasses an existing bug in ruby that makes `class << obj` unsafe
to be used in threading contexts.
43dae99
Evan Phoenix evanphx Make the helpers a required argument e002a68
Rafael Mendonça França rafaelfranca Merge pull request #19007 from evanphx/route_proxy
Cache url_helpers instead of creating each time
9a476b8
Commits on Feb 20, 2015
Ryuta Kamizono kamipo Allow `:precision` option for time type columns 9ef870c
Ryuta Kamizono kamipo Format the time string according to the precision of the time column
It is also necessary to format a time column like a datetime column.
a088ee9
Ryuta Kamizono kamipo Add schema dumping tests for datetime and time precision cddc298
Leandro Nunes LeandroSNunes Corrects the API to method select_tag
The 'selected' option is not doing what it should do.
The expected behavior is to pass the value selected by default for the options_from_collection_for_select method
8e02dcd
y-yagi y-yagi use `messages` instead of deprecated `ActiveModel::Errors#[]=` method…
… [ci skip]
66e2e19
Abdelkader Boudih seuros Merge pull request #19013 from y-yagi/custom_validators_example
use `messages` instead of deprecated `ActiveModel::Errors#[]=` method [ci skip]
9a04558
Rafael Mendonça França rafaelfranca Merge pull request #19012 from LeandroSNunes/api_select_tag
Corrects the API to method select_tag
1f5b58c
Rafael Mendonça França rafaelfranca Merge pull request #17138 from jpcody/rename_default_form_builder
Rename default_form_builder to avoid collision
725d5c8
Rafael Mendonça França rafaelfranca Use a name that better reflect the return value af5b245
Rafael Mendonça França rafaelfranca Merge pull request #17144 from skojin/patch-doc-validation-format-z-r…
…egexp

fix mistype in doc about \z regexp
e0f29c5
Sean Griffin sgrif Merge pull request #18665 from sgrif/sg-test-route-all
Allow `method: "all"` as a valid routing test option
f318609
Rafael Mendonça França rafaelfranca Merge pull request #18914 from kamipo/format_time_according_to_precision
Format the time string according to the precision of the time column
bb9d20c
Rafael Mendonça França rafaelfranca Merge pull request #17143 from kuldeepaggarwal/fix-mailTo
mail_to helper method fix
063b058
Rafael Mendonça França rafaelfranca Merge pull request #17139 from mfazekas/fix_becomes_changed_attributes
Always reset changed attributes in becomes
0f2261f
Anthony Dmitriyev antstorm Fix cache_helper comment ERB 421865e
Rafael Mendonça França rafaelfranca Merge pull request #19015 from antstorm/fix-cache-helper-erb-block-in…
…-comment

Fix cache_helper comment ERB typo
8538888
Marcel Morgan mcmorgan Use sentence case for consistency in comments
[ci skip]
30afeb7
Rafael Mendonça França rafaelfranca Merge pull request #19017 from mcmorgan/active-job-docs-use-sentence-…
…case-for-comment-consistency

Active Job Guide: Use sentence case for consistency in comments [ci skip]
1b33c04
Rafael Mendonça França rafaelfranca Merge pull request #16993 from Empact/simplify-find_by-statement-cache
Simplify find_by_statement_cache interaction
0c19ff6
Lucas Mazza lucasmazza Move the `validate!` method to `ActiveModel::Validations`. 830b704
Rafael Mendonça França rafaelfranca Merge pull request #19018 from lucasmazza/lm-activemodel-validate-bang
Move the `validate!` method to `ActiveModel::Validations`.
192d319
Kasper Timm Hansen kaspth Merge multi_fetch_fragments.
Makes caching a collection of template partials faster using `read_multi`
on the Rails cache store.

Some caching implementations have optimized `read_multi` so we don't have
to check in the cache store for every template.
e56c635
Rafael Mendonça França rafaelfranca Merge pull request #16989 from Empact/reload-cache-clear
Isolate access to @associations_cache and @aggregations_cache to the Associations and Aggregations modules, respectively.
37bef58
Rafael Mendonça França rafaelfranca Do not test, document or use a private API method
These methods are nodoc so we should not document them.
17e0878
Akira Matsuda amatsuda s/around_filter/around_action/ 2dff9d0
Rafael Mendonça França rafaelfranca Merge branch 'rm-take' into 4-1-stable 2b63a35
Rafael Mendonça França rafaelfranca Merge pull request #18218 from brainopia/fix_match_shorthand_in_routes
Don't use shorthand match on routes with inappropriate symbols
08cec83
Rafael Mendonça França rafaelfranca Merge pull request #17069 from modosc/master
move cache_digests rake methods into their own namespace
14a6e17
David Ilizarov dilizarov Aliased the ActionDispatch::Request#uuid method with ActionDispatch::…
…Request#request_id
7f5cf3a
Rafael Mendonça França rafaelfranca Prefer request_id over uuid and test the alias 027d484
Rafael Mendonça França rafaelfranca Merge branch 'dilizarov-feature/alias_request_uuid_method_to_request_id'
Fixes #16518
a56db55
Carlos Antonio da Silva carlosantoniodasilva Fix changelog indent [ci skip] 08d9c75
Rafael Mendonça França rafaelfranca Change the deprecation messages to show the preferred way to work with
ActiveModel::Errors
f55bfe7
Rafael Mendonça França rafaelfranca Oops :bomb: 787bbb8
Franky W. frankywahl Error message testing fix
The testing of error messages have been implemented wrongly a few times.
This is an attempt to fix it.

For example, some of these test should have failed with the new code.
The reason they are not failling with the new string is the fact they
were not being tested beforehand.
b1d2635
Rafael Mendonça França rafaelfranca Merge pull request #17558 from OpenSourceProjects/test_error_messages
Error message testing fix
a60e8ac
Commits on Feb 21, 2015
Tim Liner trliner Fix #has_secure_token documentation [ci skip]
It's actually #validates_uniqueness_of that can generate a race condition
rather than #validates_presence_of.
673653d
Abdelkader Boudih seuros Merge pull request #19023 from trliner/fix_has_secure_token_docs
Fix #has_secure_token documentation
43fb818
Yves Senn senny guides, fully qualify `ApplicationController`. Closes #19024. 6614793
Kasper Timm Hansen kaspth [ci skip] Use explicit module namespace in guide
The Engines guide used an inline namespace, `Blorgh::ApplicationController`, which caused problems for users using an
explicit module namespace because the `ApplicationController` inherited from wasn't fully qualified.
The controller qualification was fixed in 6614793.

This ditches the inline namespace and makes the example more consistent with others in the guide.
56e788e
Kasper Timm Hansen kaspth Collections automatically cache and fetch partials.
Collections can take advantage of `multi_read` if they render one template
and their partials begin with a cache call.

The cache call must correspond to either what the collections elements are
rendered as, or match the inferred name of the partial.

So with a notifications/_notification.html.erb template like:

```ruby
<% cache notification %>
  <%# ... %>
<% end %>
```

A collection would be able to use `multi_read` if rendered like:

```ruby
<%= render @notifications %>
<%= render partial: 'notifications/notification', collection: @notifications, as: :notification %>
```
11644fd
Kasper Timm Hansen kaspth Instrument read_multi.
Adds `read_multi` instrumentation formatted as:

Caches multi read:
- views/david/2/4184ab71db6849621a4d8820fcd2c0ad
- views/david/2/4184ab71db6849621a4d8820fcd2c0ad
- views/david/3/4184ab71db6849621a4d8820fcd2c0ad
- views/david/3/4184ab71db6849621a4d8820fcd2c0ad
ca6aba7
Konstantinos Rousis rousisk Improve wording on find_by note regarding returning only one record […
…ci skip]
793ff75
Robin Dupret robin850 Merge pull request #19026 from rousisk/master
Improve wording on find_by note regarding returning only one record [ci skip]
531cf05
Robin Dupret robin850 Minor guides edits [ci skip] bab3c7c
Josef Šimánek simi Require `belongs_to` by default.
Deprecate `required` option in favor of `optional` for belongs_to.
6576f73
Commits on Feb 22, 2015
Ryuta Kamizono kamipo Extract `primary_key` method into `ColumnMethods` d47357e
Shunsuke Aida shunsukeaida Improve generator name suggestions a bit.
Previously, the Levenshtein distances to most commands were wrongly
calculated due to a big shortcut. This might be included in the original
code for the performance sake, but I'm not sure that's something we should
take over accuracy in Rails.

Before
'foo' to 'assets'                  #=> 3
'foo' to 'controller'              #=> 3
'foo' to 'generator'               #=> 3
'foo' to 'helper'                  #=> 3
'foo' to 'integration_test'        #=> 3
'foo' to 'jbuilder'                #=> 3
'foo' to 'job'                     #=> 2
'foo' to 'mailer'                  #=> 3
'foo' to 'migration'               #=> 3
'foo' to 'model'                   #=> 3
'foo' to 'resource'                #=> 3
'foo' to 'resource_route'          #=> 3
'foo' to 'scaffold'                #=> 3
'foo' to 'scaffold_controller'     #=> 3
'foo' to 'task'                    #=> 4
'foo' to 'active_record:migration' #=> 3
'foo' to 'active_record:model'     #=> 3
'foo' to 'coffee:assets'           #=> 3
'foo' to 'css:assets'              #=> 3
'foo' to 'css:scaffold'            #=> 3
'foo' to 'erb:controller'          #=> 3
'foo' to 'erb:mailer'              #=> 3
'foo' to 'erb:scaffold'            #=> 3
'foo' to 'js:assets'               #=> 3
'foo' to 'scss:assets'             #=> 3
'foo' to 'scss:scaffold'           #=> 3
'foo' to 'test_unit:controller'    #=> 3
'foo' to 'test_unit:generator'     #=> 3
'foo' to 'test_unit:helper'        #=> 3
'foo' to 'test_unit:integration'   #=> 3
'foo' to 'test_unit:job'           #=> 3
'foo' to 'test_unit:mailer'        #=> 3
'foo' to 'test_unit:model'         #=> 3
'foo' to 'test_unit:plugin'        #=> 3
'foo' to 'test_unit:scaffold'      #=> 3

After
'foo' to 'assets'                  #=> 6
'foo' to 'controller'              #=> 8
'foo' to 'generator'               #=> 8
'foo' to 'helper'                  #=> 6
'foo' to 'integration_test'        #=> 15
'foo' to 'jbuilder'                #=> 8
'foo' to 'job'                     #=> 2
'foo' to 'mailer'                  #=> 6
'foo' to 'migration'               #=> 8
'foo' to 'model'                   #=> 4
'foo' to 'resource'                #=> 7
'foo' to 'resource_route'          #=> 12
'foo' to 'scaffold'                #=> 6
'foo' to 'scaffold_controller'     #=> 16
'foo' to 'task'                    #=> 4
'foo' to 'active_record:migration' #=> 21
'foo' to 'active_record:model'     #=> 17
'foo' to 'coffee:assets'           #=> 12
'foo' to 'css:assets'              #=> 10
'foo' to 'css:scaffold'            #=> 10
'foo' to 'erb:controller'          #=> 12
'foo' to 'erb:mailer'              #=> 10
'foo' to 'erb:scaffold'            #=> 10
'foo' to 'js:assets'               #=> 9
'foo' to 'scss:assets'             #=> 11
'foo' to 'scss:scaffold'           #=> 11
'foo' to 'test_unit:controller'    #=> 18
'foo' to 'test_unit:generator'     #=> 18
'foo' to 'test_unit:helper'        #=> 16
'foo' to 'test_unit:integration'   #=> 20
'foo' to 'test_unit:job'           #=> 12
'foo' to 'test_unit:mailer'        #=> 16
'foo' to 'test_unit:model'         #=> 14
'foo' to 'test_unit:plugin'        #=> 16
'foo' to 'test_unit:scaffold'      #=> 16

Besides that, the conjunction "or" of the message now appears only between
the last two suggestions.
7692a16
Jeroen van Baarsen jvanbaarsen Changed the AJADAPTER to AJ_ADAPTER
* This allows for easier reading, since those are two words, so they should be
  split by _

Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
e380ac6
Ryuta Kamizono kamipo Extract the short-hand methods into `ColumnMethods` 8fade12
Ryuta Kamizono kamipo The short-hand methods should be able to define multiple columns 24eb440
Commits on Feb 23, 2015
Thiago Pradi tchandy Removing unused template 71b73b0
Thiago Pradi tchandy Removing unused controller from abstract_unit 2b88f65
Thiago Pradi tchandy Removing unused constants from abstract_unit 48a0995
Thiago Pradi tchandy Removing old helper that was necessary for compatibility with Ruby 1.8.x 3c181f6
y-yagi y-yagi fix method name in mime type example. `Mime::Type.[]` doesn't exist. …
…[ci skip]
ea85b39
Abdelkader Boudih seuros Merge pull request #19044 from y-yagi/mime_type_doc
fix method name in mime type example. `Mime::Type.[]` doesn't exist. [ci skip]
36fb65c
Rafael Mendonça França rafaelfranca Merge pull request #19032 from jvanbaarsen/changed-ajadapter-env-var
Changed the AJADAPTER to AJ_ADAPTER
4938910
Rafael Mendonça França rafaelfranca Merge pull request #18937 from simi/optional-belongs-to
Require `belongs_to` by default.
069c03b
yui-knk yui-knk [ci skip] Fix `Object-Relational` to `Object Relational` 53a9c66
Abdelkader Boudih seuros Merge pull request #19046 from yui-knk/fix/orm
[ci skip] Fix `Object-Relational` to `Object Relational`
12afb78
Richard Schneeman schneems Merge pull request #18395 from shunsukeaida/improve_generator_name_su…
…ggestions

Improve generator name suggestions a bit.
98d896e
Yves Senn senny some indenting and punctuation fixes. [ci skip] e71f5da
Ryuta Kamizono kamipo Allow `:limit` option for MySQL bigint primary key support
Example:

    create_table :foos, id: :primary_key, limit: 8 do |t|
    end

    # or

    create_table :foos, id: false do |t|
      t.column :id, limit: 8
    end
b8d320c
Ravil Bayramgalin brainopia Change filter on /rails/info/routes to use an actual path regexp from…
… rails

Change filter on /rails/info/routes to use an actual path regexp from rails
and not approximate javascript version. Oniguruma supports much more
extensive list of features than javascript regexp engine.

Fixes #18402.
321db4a
Luke Hutscal girasquid Fix typo [ci skip]
I think this was supposed to be "roundTrip".
37f0820
Abdelkader Boudih seuros Merge pull request #19048 from girasquid/patch-1
Fix typo
88c3bf4
Rafael Mendonça França rafaelfranca Merge pull request #17631 from kamipo/bigint_pk_support
Allow limit option for MySQL bigint primary key support.
acb12d3
Santiago Pastorino spastorino Merge pull request #19038 from tchandy/cleaning_actionpack_tests
Cleaning actionpack tests
88b334e
Commits on Feb 24, 2015
Tamir Duberstein tamird `ActiveJob::QueueAdapters::TestAdapter` is now a singleton
Since `ActiveJob::TestHelper` globally sets
`ActiveJob::Base.queue_adapter` on setup, there is no benefit in
instantiating a new `TestAdapter` per tests. The original rationale was
to allow parallel tests to run without interference, but since they'd
all mutate the global `ActiveJob::Base.queue_adapter`, that was never
realized.
802f855
Rafael Mendonça França rafaelfranca Merge pull request #19030 from kamipo/extract_short_hand_column_methods
Extract the short-hand column methods into `ColumnMethods`
5cde302
Rafael Mendonça França rafaelfranca Merge pull request #19052 from square/testing-singleton
`ActiveJob::QueueAdapters::TestAdapter` is now a singleton
2948404
Iain Beeston iainbeeston Deprecate `AbstractController::Callbacks#skip_action_callback`
As part of #19029, in future `skip_before_action`, `skip_after_action` and
`skip_around_action` will raise an ArgumentError if the specified
callback does not exist. `skip_action_callback` calls all three of these
methods and will almost certainly result in an ArgumentError. If anyone
wants to remove all three callbacks then they can still call the three
individual methods. Therefore let's deprecate `skip_action_callback` now
and remove it when #19029 is merged.
3fbc632
Carlos Antonio da Silva carlosantoniodasilva Avoid creating an extra hash on the job test adapter 8adfd4f
Ryuta Kamizono kamipo Move back `new_column_definition` into `TableDefinition`
Only `primary_key` should be extracted by d47357e in #19030, but
`new_coclumn_definition` was also extracted because #17631 is merged
previously, then #19030 is auto merged without conflicts.

This commit is for move back `new_column_definition` into
`TableDefinition`.
c137e54
Rafael Mendonça França rafaelfranca Merge pull request #19062 from kamipo/move_back_new_column_definition…
…_into_table_definition

Move back `new_column_definition` into `TableDefinition`
762bfee
Ryuta Kamizono kamipo Remove unused table
`postgresql_xml_data_type` table is used from nowhere.
5310635
Rafael Mendonça França rafaelfranca Merge pull request #19064 from kamipo/remove_unused_table
Remove unused table
48dcaea
Yves Senn senny rework `disable_referential_integrity` for PostgreSQL.
[Toby Ovod-Everett & Andrey Nering & Yves Senn]

Closes #17726.
Closes #10939.

This patch makes three distinct modifications:

1. no longer fall back to disabling user triggers if system triggers can't be disabled
2. warn the user when referential integrity can't be disabled
3. restore aborted transactions when referential integrity can't be disabled

The motivation behind these changes is to make the behavior of Rails
transparent and less error-prone. To require superuser privileges is not optimal
but it's what Rails currently needs. Users who absolutely rely on disabling user triggers
can patch `disable_referential_integrity`.

We should investigate `SET CONSTRAINTS` as a possible solution which does not require
superuser privileges.

/cc @matthewd
72c1557
Rafael Mendonça França rafaelfranca Merge pull request #19060 from iainbeeston/deprecate-skip-action-call…
…back

Deprecate `AbstractController::Callbacks#skip_action_callback`
6976e1d
Rafael Mendonça França rafaelfranca Make TestController available to all test classes f6a31f5
Rafael Mendonça França rafaelfranca Use other controller instead of sharing the controller efc6d49
Ian Ker-Seymer ianks activemodel: make .model_name json encodable
Previously, calling `User.model_name.to_json` would result in an infinite
recursion as `.model_name` inherited its `.as_json` behavior from Object. This
patch fixes that unexpected behavior by delegating `.as_json` to :name.
c5d62cb
Rafael Mendonça França rafaelfranca Merge pull request #19055 from ianks/model_name.to_json
activemodel: make .model_name json encodable
a0580e9
C o u r t e n a y courtenay Fix mysql's schema.rb dumper so it does not include limit on emulated…
… boolean tinyint(1) fields
ee87dbe
Rafael Mendonça França rafaelfranca Merge pull request #19066 from courtenay/mysql_boolean_limit_19065
Fix mysql's schema.rb dumper so it does not include limit on emulated booleans
2bc72ae
Rafael Mendonça França rafaelfranca Merge pull request #18744 from mfazekas/no-table-name-with-from
Fix appending table_name to select and group when used with subquery (fr...
c479480
Jeremy Kemper jeremy Fix c479480 to account for from_value -> from_clause in bdc5141 26915a1
Sean Griffin sgrif Call `attributes_for_update` in `_update_record` w/ optimistic locking
Fixes #19057
948424d
Robin Dupret robin850 Tiny documentation edits [ci skip] 803ef74
Jeremy Kemper jeremy Add a failing test demonstrating regression with HEAD requests to Rac…
…k apps, re #18764
f4f9408
Paul Annesley pda AR: translate_exception_class() no longer logs error. 9c28529
Commits on Feb 25, 2015
Arthur Nogueira Neves arthurnn Add transaction callbacks that wont enroll to the transaction.
Add after_commit_without_transaction_enrollment and
after_rollback_without_transaction_enrollment private callbacks so we
can create after_commit and after_rollback callbacks without having the
records automatic enrolled in the transaction.

[fixes #18904]
4a1bb9d
Arthur Nogueira Neves arthurnn Add before_commit
[fixes #18903]
7d2a872
Arthur Nogueira Neves arthurnn Rename tests 4575513
Aaron Patterson tenderlove Merge pull request #17426 from jpcody/fixture_associations_fix
Rely on through table name in has_many fixtures
f4bee7e
Arthur Nogueira Neves arthurnn Merge pull request #18936 from arthurnn/txn_callbacks
Spike on new transaction callbacks
27ce16a
Aaron Patterson tenderlove Merge pull request #19068 from pda/ar-translate-exception-class-no-log
AR: translate_exception_class() no longer logs error.
4cd0da5
Aaron Patterson tenderlove cache quoted column names in SQLite3
we do this in other adapters, and it's a nice speed improvement
149a1e1
Robert Krzyzanowski robertzk fix typo [ci-skip] 0e9e9d6
Abdelkader Boudih seuros Merge pull request #19069 from robertzk/patch-1
fix typo [ci-skip]
80ed460
y-yagi y-yagi update docs to reflect that mailer generator add suffix to generated …
…classes [ci skip]
5ef1871
Abdelkader Boudih seuros Merge pull request #19072 from y-yagi/mailer_doc
update docs to reflect that mailer generator add suffix to generated classes [ci skip]
5a6868b
Juho Leinonen Mession Fix dependency tracker bug 4640c34
Rafael Mendonça França rafaelfranca Merge pull request #18948 from kaspth/automatic-collection-caching
Merge multi_fetch_fragments.
68a2a67
Henrik Nygren nygrenh Fix a backtracking problem in String#truncate_words
Fixes #19070.
ece0d25
Rafael Mendonça França rafaelfranca Merge pull request #19074 from Mession/fix_test_dependency_of_erb_tem…
…plate_partial_with_layout

Fix dependency tracker bug
d6c34ce
Rafael Mendonça França rafaelfranca Merge pull request #19076 from nygrenh/truncate-words-fix
Fix a backtracking problem in String#truncate_words
2abed7a
Jeremy Kemper jeremy Fix default headers in test responses
Fixes regression in #18423. Merge default headers for new responses,
but don't merge when creating a response from the last session request.

hat tip @senny :heart:
f6e293e
Yves Senn senny add CHANGELOG for f6e293e. [ci skip] 71fc789
Richard Schneeman schneems fix bug in Levenshtein distance calculation
Bug was discovered and discussed in #18395.
6f0a69c
Rafael Mendonça França rafaelfranca Merge pull request #15476 from JacobEvelyn/master
Use logger environment settings in Rails console.
026ce5d
Ryuta Kamizono kamipo Add `SchemaMigration.create_table` support any unicode charsets for M…
…ySQL.

MySQL unicode support is not only `utf8mb4`.
Then, The index length problem is not only `utf8mb4`.

http://dev.mysql.com/doc/refman/5.6/en/charset-unicode.html

    SELECT * FROM information_schema.character_sets WHERE maxlen > 3;
    +--------------------+----------------------+------------------+--------+
    | CHARACTER_SET_NAME | DEFAULT_COLLATE_NAME | DESCRIPTION      | MAXLEN |
    +--------------------+----------------------+------------------+--------+
    | utf8mb4            | utf8mb4_general_ci   | UTF-8 Unicode    |      4 |
    | utf16              | utf16_general_ci     | UTF-16 Unicode   |      4 |
    | utf16le            | utf16le_general_ci   | UTF-16LE Unicode |      4 |
    | utf32              | utf32_general_ci     | UTF-32 Unicode   |      4 |
    +--------------------+----------------------+------------------+--------+
3239b6a
Rafael Mendonça França rafaelfranca Merge pull request #17297 from rebyn/fix/17161-remove-objs-from-has_m…
…any-updates-fields

Add specs for adding-to/clear has_many collections’s behavior on `updated_at`
5c5d941
Rafael Mendonça França rafaelfranca Merge pull request #17601 from kamipo/support_any_unicode_charsets
Add `SchemaMigration.create_table` support any unicode charsets for MySQL.
eb2a8e3
Rafael Mendonça França rafaelfranca Merge pull request #16738 from net-engine/guides-template-inheritance
Guides: Template Inheritance (new in guides, feature in since 3.1)
89e051a
Commits on Feb 26, 2015
Yu Haidong teeceepee Fix typos in ActionView::Helpers::FormBuilder comment [ci skip] dda17cc
Yves Senn senny Merge pull request #19088 from teeceepee/patch-1
Fix typos in ActionView::Helpers::FormBuilder comment [ci skip]
1d031ee
Akira Matsuda amatsuda :nailcare: b940e9f
Waseem Ahmad waseem Section explaining how rails runner accepts code in a ruby file.
[ci skip]
c2c844e
Kasper Timm Hansen kaspth [ci skip] Add changelog entry for #18948. 0b32bea
Rafael Mendonça França rafaelfranca Merge pull request #19095 from waseem/rails_runner_ruby_file
Section explaining how rails runner accepts code in a ruby file.
28778de
Richard Schneeman schneems Merge pull request #18434 from brainopia/change_filter_on_rails_info_…
…routes

Change filter on /rails/info/routes to use an actual path regexp from rails
f069b41
Sean Griffin sgrif Properly create through records when called with `where`
Various behaviors needed by associations (such as creating the through
record) are lost when `where` is called, since we stop having a
`CollectionProxy` and start having an `AssociationRelation` which does
not contain this behavior. I *think* we should be able to rm
`AssociationRelation`, but we have tests saying the changes required to
do that would be bad (Without saying why. Of course. >_>)

Fixes #19073.
3821892
Commits on Feb 27, 2015
y-yagi y-yagi fix NameError in `skip_filter`. callback doesn't exist. 0eec7d2
Jeremy Kemper jeremy Revert "Merge pull request #18764 from tsun1215/master"
This reverts commit b6dd0c4, reversing
changes made to de9a374.
a13e52b
Jeremy Kemper jeremy Revert integration test refactoring that caused app test regressions
Haven't diagnosed yet. No similarly failing tests in Rails to work from.

cc @tenderlove, @eileencodes

Revert "there is always an integration session, so remove the check"
Revert "lazily create the integration session"
Revert "use before_setup to set up test instance variables"

This reverts commits 4cf3b8a, 303567e, and fa63448.
7142059
प्रथमेश prathamesh-sonpatki Fix wording in template inheritance section of layout guide [ci skip] 7019b19
Abdelkader Boudih seuros Merge pull request #19107 from prathamesh-sonpatki/template-inheritance
 Fix wording in template inheritance section of layout guide [ci skip]
75ddb54
Carlos Antonio da Silva carlosantoniodasilva Merge pull request #19104 from y-yagi/fix_skip_filter
fix NameError in `skip_filter`. callback doesn't exist.
2426321