| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
[Fixes #14948] Hash#to_query: right serialization for empty hash and array
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
are serialized
Empty Hash or Array should not present in serialization result
{a: []}.to_query # => ""
{a: {}}.to_query # => ""
For more info see #14948.
|
|/
|
|
| |
test case.
|
|
|
|
|
|
| |
1. Improve tests
2. Remove unnecessary constant
3. Add docs for BigDecimal#duplicable?
|
| |
|
|
|
|
| |
good, but the closer relationship to #presence over #present is ultimately worth it
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ebf69ab1636df74c76332c53bcd3d8494fb91b45.
`in?` must not take multiple parameters because its behavior would be
ambiguous:
# Test if "B" is included in a list of names with `"B".in?(*names)`:
names = ["BMorearty"]
"B".in?(*names) # => true
names = ["BMorearty","rubyduo"]
"B".in?(*names) # => false
Conflicts:
activesupport/lib/active_support/core_ext/object/inclusion.rb
activesupport/test/core_ext/object/inclusion_test.rb
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Module#delegate
|
|
|
|
| |
such that non-public methods raise
|
|
|
|
| |
added tests
|
|
|
|
|
|
| |
After a long list of discussion about the performance problem from using varargs and the reason that we can't find a great pair for it, it would be best to remove support for it for now.
It will come back if we can find a good pair for it. For now, Bon Voyage, `#among?`.
|
|
|
|
| |
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
|
|
|
|
| |
suggestion!
|
|
|
|
|
|
|
|
|
|
|
|
| |
state:committed]
This will allow you to check if an object is included in another object
or the list of objects or not.
This patch is derived from patch by Brian Morearty and John Reitano on
Lighthouse ticket. I've rewrite it and make sure that we support both
'another object' and 'list of objects' version, as it surely be useful
to support both.
|
|
|
|
|
|
|
|
|
| |
According to http://www.ietf.org/rfc/rfc2616.txt and
http://tools.ietf.org/rfc/rfc3986.txt [ and ] are reserved characters
and should be escaped using "%" HEX HEX
This reverts commit 856d2fd874d72dd9f83204affff4edfef3308361 and
1ee9b40b18a0bed5bb10a0785f7e2730bac983f6..
|
|
|
|
| |
instead of Hash
|
| |
|
|
|