| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
See #7613. [ci skip]
|
|\ \
| | |
| | | |
Nice and easy delegation to the class
|
| | | |
|
| | |
| | |
| | |
| | | |
format strings.
|
| | | |
|
| | |
| | |
| | |
| | | |
option added (default is Monday)
|
| | |
| | |
| | |
| | | |
ensure shared behavior.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* ActiveSupport::Configurable should allow config_accessor to take
default value by block, just like cattr_accessor.
class User
include ActiveSupport::Configurable
config_accessor :hair_colors do
[:brown, :black, :blonde, :red]
end
end
User.hair_colors # => [:brown, :black, :blonde, :red]
* remove trailing whitespaces in configurable.rb and its test file.
* Update ActiveSupport CHANGELOG.
|
|\ \ \
| | | |
| | | | |
Deprecate ActiveSupport::Benchmarkable#silence.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Due to its lack of thread safety, we're deprecating this, and it
will be removed in Rails 4.1.
Fixes #4060.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Because Process::Status has no instance_variables, the
ActiveSupport version of #to_json produces {}, which isn't good.
Therefore, we implement our own #as_json, which makes it useful
again.
Fixes #4857
|
| | | | |
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | | |
Hash#merge accepts block that you can use to customize how hash values
are merged. This change makes merge and deep_merge compatible.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
ActiveSupport::Deprecation is now a class rather than a module. You can
get instance of ActiveSupport::Deprecation calling #instance method.
ActiveSupport::Deprecation.instance
But when you need to get new object od ActiveSupport::Deprecation you
need to just call #new.
@instance = ActiveSupport::Deprecation.new
Since you can create a new object, you can change the version and the
name of the library where the deprecator concerned.
ActiveSupport::Deprecation.new('2.0', 'MyGem')
If you need use another deprecator instance you can select it in the
options of deprecate method.
deprecate :method, :deprecator => deprecator_instance
Documentation has been updated.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
extend/include it also.
test local deprecation
deprecator object
Test ActiveSupport::Deprecation when included
|
|/ |
|
| |
|
|
|
| |
This is a follow up to issue #7535
|
|
|
|
|
| |
I have also chosen a variable name that matches the
parameter in the definition of load_missing_constant.
|
|
|
|
| |
Those who say source code should be without comments lie.
|
|
|
|
|
|
|
|
| |
Basically, const_missing had a loop to try parent namespaces
if the constant lookup failed, but at the same time delegated
to load_missing_constant which in turn also walks up parent
namespaces calling const_missing by hand. In the case of missing
constants this results in repeated work in some funky nested way.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a block is passed into the method, it will be invoked for each
duplicated key, with the key in question and the two values as
arguments. The value for the duplicated key in the receiver will
be set to the return value of the block.
This behaviour matches Ruby's long-standing implementation of
Hash#update and is intended to provide a more consistent interface.
HashWithIndifferentAccess#merge is also affected by the change, as it
uses #update internally.
|
|
|
|
|
|
|
| |
#{qualified_name}"
Users need to know the ultimate problem here is that AS was
trying to autoload a constant and it failed.
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to anchor to remove the extension. In addition to
be the correct way to do that, files in ~/.rbenv get that
.rb removed, so it is a real source of bugs, as reported in
https://github.com/rails/rails/commit/b33700f5580b4cd85379a1dc60fa341ac4d8deb2#commitcomment-1781840
|
| |
| |
| |
| |
| |
| |
| | |
Nowadays circular autoloads do not work, but the user gets a NameError
that says some constant is undefined. That's puzzling, because he is
normally trying to autoload a constant he knows can be autoloaded.
With this check we can give a better error message.
|
| |
| |
| |
| |
| |
| |
| | |
loaded stores file names without the .rb extension, but search_for_file
returns file names with the extension.
The solution is hackish, but this file needs a revamp.
|
| | |
|
|\ \
| | |
| | | |
Refactored common date and time calculations.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Added the `DateAndTime::Calculations` module that is included in Time
and Date. It houses common calculations to reduce duplicated code.
* Simplified and cleaned-up the calculation code.
* Removed duplication in tests by adding a behavior module for shared
tests. I also added some missing tests.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We simplify two things here: First since * is greedy it is enough to go
look for the rightmost ::, no need to ask the regexp engine to match the
rest of the string since we are not validating anything, only capturing.
The second simplification comes from using a look-ahead assertion, that
allows us to have the capture in $&, thus removing the need of a group.
|
| | |
| | |
| | |
| | |
| | | |
The new regexp has less work to do, we anchor a fixed string at the end
and need no group.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit b0ab8dc0b2b0f580ffe5ac9ff57fd13152e18577
because it was removing the contents of the message when we
did not have any tag. A test case is also committed.
|