| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Time includes DateAndTime::Zones acts_like(:time)
|
| | |
|
| | |
|
|/
|
|
| |
active_support/notifications [ci skip]
|
|\
| |
| | |
Delegate comparison operator to value
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
pattern removal
added example for string#remove and test case for remove of multiple occurence of pattern
removed extra whitespaces
|
| |
| |
| |
| |
| | |
- Reference : https://github.com/rails/rails/pull/17493#issuecomment-61739359
- Duration stopped inheriting from ProxyObject in https://github.com/rails/rails/pull/16574
|
| | |
|
| | |
|
|/ |
|
|\
| |
| | |
Avoid unnecessary allocations and method calls
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| | |
Make `String#remove` and `String#remove!` accept multiple arguments
Conflicts:
activesupport/CHANGELOG.md
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch uniformizes warning messages. I used the most common style
already present in the code base:
* Capitalize the first word.
* End the message with a full stop.
* "Rails 5" instead of "Rails 5.0".
* Backticks for method names and inline code.
Also, converted a few long strings into the new heredoc convention.
|
| |
| |
| |
| |
| | |
The character "*" is unnecessary in option candidates.
This incorrect markup was injected in e8c9aeca .
|
| | |
|
| |
| |
| |
| | |
This will avoid naming clash with user defined methods
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The check for circular loading should depend on a stack of files being
loaded at the moment, rather than the collection of loaded files.
This showed up indirectly in #16468, where a misspelled helper would
incorrectly result in a circularity error message.
References #16468
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
@carlosantoniodasilva pointed out that when `@person` is nil then this would blow up when you ended up calling `#first`on `nil`.
> "there’s no way to break a try chain when you enter it :D"
[ci skip]
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
- better `if` example
- Added chaining example to the try method description
- Documented the `respond_to?` check to the try method description
- Clearer wording to explain that argument error is raised on argument mismatch to responding method, rather than to non-responding method (which is handled without exception by `try`)
- `.any?` is more precise than `! .blank?`
- Don't need to use `try` on `children` as (for regular associations) they will always be a collection or array that responds to `first`
- Fix typos/grammar
|
|\
| |
| | |
DRY up try/try!
|
| | |
|
|\ \
| |/
|/| |
Secure compare
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
Based on commit 5e51bdda.
|
|
|
|
|
|
| |
claudiob/replace-slower-block-call-with-faster-yield
Replace (slower) block.call with (faster) yield
|
|
|
|
| |
This reverts commit 0ab075e75f58bf403f7ebe20546c7005f35db1f6.
|
|
|
|
| |
options and original options have same keys
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Performance optimization: `yield` with an implicit `block` is faster than `block.call`.
See http://youtu.be/fGFM_UrSp70?t=10m35s and the following benchmark:
```ruby
require 'benchmark/ips'
def fast
yield
end
def slow(&block)
block.call
end
Benchmark.ips do |x|
x.report('fast') { fast{} }
x.report('slow') { slow{} }
end
# => fast 154095 i/100ms
# => slow 71454 i/100ms
# =>
# => fast 7511067.8 (±5.0%) i/s - 37445085 in 4.999660s
# => slow 1227576.9 (±6.8%) i/s - 6145044 in 5.028356s
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hashes with indifferent access should support `reverse_merge` out-of-the-box
but they don't; for instance the following code fails:
```ruby
require 'active_support'
require 'active_support/hash_with_indifferent_access'
hash = HashWithIndifferentAccess.new key: :old_value
hash.reverse_merge key: :new_value
```
This PR fixes the case above by simply requiring
`active_support/core_ext/hash/reverse_merge` in `hash_with_indifferent_access.rb`
and adding a test that confirms the fix.
---
Here are more details about the bugfix.
Currently, `reverse_merge` is [defined in HashWithIndifferentAccess](https://github.com/rails/rails/blob/4e8ea13ba1a0870905a46fac5f232d9f41eef8a4/activesupport/lib/active_support/hash_with_indifferent_access.rb#L208)
by invoking `super`, that is by invoking `Hash#reverse_merge`:
```ruby
def reverse_merge(other_hash)
super(self.class.new_from_hash_copying_default(other_hash))
end
```
However, Ruby's `Hash` does not have the `reverse_merge` by default: it must be
added by ActiveSupport, and that requires the following line of code to be
present:
```ruby
require 'active_support/core_ext/hash/reverse_merge'
```
|
|
|
|
| |
to ensure correct parsing result of rdoc
|
|\
| |
| | |
atomic_write rescue also Errno::EACCES
|
| |
| |
| | |
atomic_write rescue also Errno::EACCES on changing file permission. It could be raised with some type of filesystem
|
|/ |
|
|\
| |
| | |
Change `gsub` to `tr` where possible
|
| | |
|
| | |
|
| | |
|