| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| | |
checks, Conditional statements combined
|
|\ \
| | |
| | | |
fix typos and grammar mistake [ci skip]
|
| | | |
|
| | |
| | |
| | |
| | | |
[ci skip]
|
| | |
| | |
| | |
| | |
| | |
| | | |
A natural, low-ceremony way to separate responsibilities within a class.
Imported from https://github.com/37signals/concerning#readme
|
|\ \ \
| | | |
| | | | |
Fixes interpolation on SafeBuffer
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Interpolation was untested and did not work with hash arguments.
Adds
- support for interpolation with hash argument
- tests for the above
- tests for safe/unsafe interpolation
|
|/ / |
|
| |
| |
| |
| |
| |
| | |
Closes #13245.
[ci skip]
|
| |
| |
| |
| |
| |
| |
| | |
Calling Kernel#silence_stream creates a new file descriptor which isn't
closed after it is used. As a result calling silence_stream multiple
times leads to a build up of loose file descriptors and can cause issues
in environments where garbage collection isn't run often.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
keys. Also, show the wrong value as it was entered.
{ :failore => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ])
=> ArgumentError: Unknown key: failore
{ 'failore' => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ])
=> ArgumentError: Unknown key: failore
{ 'failore' => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ])
=> ArgumentError: Unknown key: "failore". Valid keys are: :failure, :funny
{ :failore => "stuff", :funny => "business" }.assert_valid_keys([ :failure, :funny ])
=> ArgumentError: Unknown key: :failore. Valid keys are: :failure, :funny
Conflicts:
activerecord/CHANGELOG.md
Closes #11624.
|
| |
| |
| |
| |
| | |
Use the already existing strings instead of creating a new one each time
just to test if it responds to the methods.
|
| | |
|
|\ \
| | |
| | | |
Typo fixes [ci skip]
|
| | | |
|
|/ /
| |
| |
| | |
private or protected methods. [ci skip]
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The user is expected to explicitly convert the value into an
AS::Duration, i.e. `5.ago` => `5.seconds.ago`
This will help to catch subtle bugs like:
def recent?(days = 3)
self.created_at >= days.ago
end
The above code would check if the model is created within the last 3
**seconds**.
In the future, `Numeric#{ago,until,since,from_now}` should be removed
completely, or throw some sort of errors to indicate there are no
implicit conversion from `Numeric` to `AS::Duration`.
Also fixed & refactor the test cases for Numeric#{ago,since} and
AS::Duration#{ago,since}. The original test case had the assertion
flipped and the purpose of the test wasn't very clear.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Got all the tests passing again.
Support for `encode_json` has been removed (and consequently the
ability to encode `BigDecimal`s as numbers, as mentioned in the
previous commit). Install the `activesupport-json_encoder` gem
to get it back.
|
|/
|
|
|
|
|
|
|
|
| |
This is because the new encoder will no longer support encode_json.
Therefore our only choice is to return `to_i` or `to_s` in
`BigDecimal#as_json`. Since casting a BigDecimal to an integer is
most likely a lossy operation, we chose to encode it as a string.
Support for encoding BigDecimal as a string will return via the
`activesupport-json_encoder` gem.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
activesupport/lib/active_support/core_ext/hash/deep_merge.rb
activesupport/lib/active_support/core_ext/hash/keys.rb
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to our guideline, we leave 1 space between `#` and `=>`, so we
want `# =>` instead of `#=>`.
Thanks to @fxn for the suggestion.
[ci skip]
|
| |
| |
| |
| |
| | |
should also call #as_json on the children without options (instead of
nil)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Example:
class A
cattr_reader(:defr) { 'default_reader_value' }
end
A.defr # => 'default_reader_value'
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, calling `::JSON.{generate,dump}` sometimes causes
unexpected failures such as intridea/multi_json#86.
`::JSON.{generate,dump}` now bypasses the ActiveSupport JSON encoder
completely and yields the same result with or without ActiveSupport.
This means that it will **not** call `as_json` and will ignore any
options that the JSON gem does not natively understand. To invoke
ActiveSupport's JSON encoder instead, use `obj.to_json(options)` or
`ActiveSupport::JSON.encode(obj, options)`.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Use rescue with a splat rather and catching all exceptions and manually filtering in Kernel#suppress
|
| | | |
|
|\ \ \
| | | |
| | | | |
updated documentation for Integer [ci skip]
|
| | | | |
|
|\| | |
| | | |
| | | | |
methods and outputs indented [ci skip]
|
| | | | |
|
|\| | |
| | | |
| | | | |
Speed up Array#split when block is passed
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Ruby 2.0.0p247
Rehearsal ---------------------------------------
old 10.670000 0.150000 10.820000 ( 10.822651)
new 8.520000 0.050000 8.570000 ( 8.571825)
----------------------------- total: 19.390000sec
user system total real
old 10.620000 0.170000 10.790000 ( 10.790409)
new 8.570000 0.110000 8.680000 ( 8.686051)
|
|\ \ \ \
| |/ / /
|/| | | |
Array#in_groups: documentation updated [ci skip]
|
| | |/
| |/| |
|