| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
If we try to monkey-patch the class before requiring it, then a
"superclass mismatch" (TypeError) error is raised and the build can't
run correctly.
Fixes #12708
|
|\
| |
| | |
show javascripts can be disabled in scaffold generator
|
|/ |
|
|
|
|
|
|
| |
Revert "always call set_default_accessors from create_root"
This reverts commit faa1b82bf2ae5d33bfa1ee5552878d5ca69607b0.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
AppPreparer doesn't actually prepare applications, it scrubs ARGV.
Let's also get the class under test while we're at it
|
|\
| |
| |
| |
| |
| |
| | |
* 'master' of github.com:rails/rails:
Fix release instructions
Raise an error when AS::JSON.decode is called with options
Moved all JSON core extensions into core_ext/object/json
|
| |
| |
| | |
[ci skip]
|
| |\
| | |
| | | |
Raise an error when AS::JSON.decode is called with options
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rails 4.1 has switched away from MultiJson, and does not currently
support any options on `ActiveSupport::JSON.decode`. Passing in
unsupported options (i.e. any non-empty options hash) will now raise
an ArgumentError.
Rationale:
1. We cannot guarantee the underlying JSON parser won't change in the
future, hence we cannot guarantee a consistent set of options the
method could take
2. The `json` gem, which happens to be the current JSON parser, takes
many dangerous options that is irrelevant to the purpose of AS's
JSON decoding API
3. To reserve the options hash for future use, e.g. overriding default
global options like ActiveSupport.parse_json_times
This change *DOES NOT* introduce any changes in the public API. The
signature of the method is still decode(json_text, options). The
difference is this method previously accepted undocumented options
which does different things when the underlying adapter changes. It
now correctly raises an ArgumentError when it encounters options that
it does not recognize (and currently it does not support any options).
|
| |\
| | |
| | | |
Eagerload active_support/json/encoding in active_support/core_ext/object/to_json
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
TL;DR The primary driver is to remove autoload surprise.
This is related to #12106. (The root cause for that ticket is that
json/add defines Regexp#to_json among others, but here I'll reproduce
the problem without json/add.)
Before:
>> require 'active_support/core_ext/to_json'
=> true
>> //.as_json
NoMethodError: undefined method `as_json' for //:Regexp
from (irb):3
from /Users/godfrey/.rvm/rubies/ruby-2.0.0-p195/bin/irb:16:in `<main>'
>> //.to_json
=> "\"(?-mix:)\""
>> //.as_json
=> "(?-mix:)"
After:
>> require 'active_support/core_ext/to_json'
=> true
>> //.as_json
=> "(?-mix:)"
This is because ActiveSupport::JSON is autoloaded the first time
Object#to_json is called, which causes additional core extentions
(previously defined in active_support/json/encoding.rb) to be loaded.
When someone require 'active_support/core_ext', the expectation is
that it would add certain methods to the core classes NOW. The
previous behaviour causes additional methods to be loaded the first
time you call `to_json`, which could cause nasty surprises and other
unplesant side-effects.
This change moves all core extensions in to core_ext/json. AS::JSON is
still autoloaded on first #to_json call, but since it nolonger
include the core extensions, it should address the aforementioned bug.
*Requiring core_ext/object/to_json now causes a deprecation warnning*
|
|/ / |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
session#fetch doesn't behave exactly like Hash#fetch.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Mention it in the changelog and add a test checking for regressions.
Hash#fetch isn't adding the defaultly returned value.
However, in the session, saving it is the behavior we should expect.
See discussion in #12692
|
|\ \
| | |
| | | |
Update pull request instructions as per the new Github UI [ci skip]
|
|/ /
| |
| |
| | |
[ci skip]
|
|\ \
| | |
| | | |
Short arrays in record.inspect
|
|/ / |
|
|\ \
| | |
| | | |
Add session#fetch
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Convert CDATA input to string before gsub'ing
|
|/ /
| |
| |
| |
| | |
Rails 3.2 API allowed arbitrary input for cdata_section;
this change re-introduces the old behaviour.
|
|\ \
| | |
| | | |
Clarify that visiting http://localhost:3000 should be done in a browser. [ci skip]
|
|/ / |
|
|\ \
| | |
| | | |
Update testing.rake with more accurate description of test task.
|
|/ /
| |
| |
| |
| | |
According to #5ecd12 change.
[ci skip]
|