aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
Commit message (Collapse)AuthorAgeFilesLines
...
* | Default to sorting user's test cases for nowGodfrey Chan2014-09-081-0/+32
| | | | | | | | | | | | | | | | | | | | | | Goals: 1. Default to :random for newly generated applications 2. Default to :sorted for existing applications with a warning 3. Only show the warning once 4. Only show the warning if the app actually uses AS::TestCase Fixes #16769
* | Fix for inflector's incorrect camelCase replacement for acronymsMatthew Draper2014-09-061-1/+1
| | | | | | | | | | | | Fixes #8015, #9756. [Fred Wu & Matthew Draper]
* | Time#change throws exception with an out-of-range :usecAgis-2014-09-041-0/+1
| | | | | | | | | | | | | | | | | | | | https://github.com/rails/rails/commit/98b46bf5e201307cae56ee14bf41363a539779c5 did not properly handled out-of-range `:usec`s. Passing a `:usec` that's out of range now throws an `ArgumentError` as it should. Fixes #16759.
* | Methods are not duplicable.Peter Jaros2014-09-031-0/+10
| |
* | Use `safe_constantize`.Guo Xiang Tan2014-09-021-5/+1
| | | | | | | | Fixes https://github.com/rails/rails/issues/9933.
* | Refer to the library name instead of the constantRobin Dupret2014-08-301-1/+1
| | | | | | | | | | | | | | | | | | When we are loading a component and we want to know its version, we are actually not speaking about the constant but the library itself. [ci skip] [Godfrey Chan & Xavier Noria]
* | reduce object allocations in utc_offsetAaron Patterson2014-08-291-2/+2
| | | | | | | | | | | | `try` allocates an array on every call, we should avoid calling it in hotspots. This reduced AttributeMethodsTest#test_setting_time_zone_aware_attribute_with_string from 18k allocations to 14k
* | We tenderized the wrong method! Object#try already had the yield option, ↵David Heinemeier Hansson2014-08-292-15/+12
| | | | | | | | just needed some tenderloving instance_eval to fit the bill
* | Use instance_eval on @tenderlove's suggestion :trollface:David Heinemeier Hansson2014-08-291-4/+5
| |
* | Update examples to show real worthDavid Heinemeier Hansson2014-08-291-1/+1
| |
* | Added yield to Object#presenceDavid Heinemeier Hansson2014-08-291-1/+12
| |
* | Merge branch 'master' of github.com:rails/railsDavid Heinemeier Hansson2014-08-294-5/+12
|\ \
| * | Follow-up to #16560Robin Dupret2014-08-241-2/+2
| | | | | | | | | | | | | | | | | | | | | For the sake of backward-compatibility, we need to make #instance_of? return true for Fixnum. On the other hand, the method should still give true for ActiveSupport::Duration itself which was not the case before.
| * | Use zero-padding for number_to_rounded_converterZachary Scott2014-08-221-1/+1
| | |
| * | Merge pull request #16560 from robin850/rbx-duration-eqlRafael Mendonça França2014-08-221-1/+5
| |\ \ | | | | | | | | Define the Duration#instance_of? method
| | * | Define the Duration#instance_of? methodRobin Dupret2014-08-181-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Duration is extending from ProxyObject which extends itself from BasicObject, the Duration object doesn't respond to the #instance_of? method. Thus, the #method_missing hook get triggered, delegating the method to its `value` attribute. However, Rubinius' #eql? definition relies on #instance_of?, thus this will equal to true with a Fixnum (since its `value` attribute is a Fixnum) while it should not. The previous behavior was wrong anyway, no matter the implementation.
| * | | Fixes the digits counter of AS's NumberToRoundedConverterXavier Noria2014-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zero has one digit, but Math.log10(0) returns -Infinity. The method needs to special-case zero. The patch adds a regression test that is not clearly related to the underlying issue because digit_count is private and has no coverage. Gray area. This bug was uncovered by 60062cf.
| * | | Updated the deprecation warnings to 5.0Cristian Bica2014-08-201-1/+1
| | | |
| * | | Add documentation intro to example for `Object#itself`.Zachary Scott2014-08-191-2/+5
| | | | | | | | | | | | | | | | | | | | Also moved comment for removal above `unless()` to not confuse RDoc with the documentation for this method.
* | | | Preparing for 4.2.0.beta1 releaseDavid Heinemeier Hansson2014-08-191-1/+1
|/ / /
* | | Require rack/utilsRafael Mendonça França2014-08-191-0/+2
| | |
* | | Protect against error when parsing parameters with Bad RequestRafael Mendonça França2014-08-191-0/+3
|/ / | | | | | | Related with #11795.
* | Merge branch 'master' of github.com:rails/railsDavid Heinemeier Hansson2014-08-173-5/+6
|\ \
| * | Preload UnicodeDatabase outside the loopAkira Matsuda2014-08-181-0/+1
| | | | | | | | | | | | | | | | | | This fixes random multibyte_chars_test fail under Ruby 1.9.3. I don't know why the tests fail. And I really don't know why this fixes. Maybe we need some more investigation...
| * | formatAkira Matsuda2014-08-181-2/+1
| | |
| * | Merge pull request #16467 from strzalek/cookies-digest-config-option2Godfrey Chan2014-08-171-1/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cookies digest config option (pt. 2) Conflicts: actionpack/CHANGELOG.md actionpack/lib/action_dispatch/middleware/cookies.rb
| | * | Add config option for cookies digestŁukasz Strzałkowski2014-08-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | You can now configure custom digest for cookies in the same way as `serializer`: config.action_dispatch.cookies_digest = 'SHA256'
| * | | Merge pull request #16338 from robin850/rbx-safe-constantizeMatthew Draper2014-08-181-2/+2
| |\ \ \ | | | | | | | | | | Avoid relying on error messages when rescuing
| | * | | Avoid relying on error messages when rescuingRobin Dupret2014-08-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we are rescuing from an error, it's a brittle approach to do checks with regular expressions on the raised message because it may change in in the future and error messages are different across implementations. The NameError API could be improved at the MRI level but for now we need to rely on its #name. A #== check will only pass for top level constants or only when the last constant of the path is missing so we need to rely on #include? instead. For instance: begin Namespace::Foo rescue NameError => e e.name # => :Namespace end However, if the name-space already exists, only the name of the first missing constant in the path is returned (e.g. for Math::PHI, the name would be :PHI). JRuby will return a fully qualified name (:"Math::PHI"). We need to keep the == check for 1.9 compatibility since const_get will raise a NameError with a name attribute set to the given string if it's one of "::" or "". See http://git.io/jnSN7g for further information.
* | | | | Fix rounding errors with #travel_to by resetting the usec on any passed time ↵David Heinemeier Hansson2014-08-171-1/+5
|/ / / / | | | | | | | | | | | | to zero, so we only travel with per-second precision, not anything deeper than that.
* | | | Nobody sucks so nobody should call this awful method nameRafael Mendonça França2014-08-121-0/+4
| | | |
* | | | Remove old setup from AS test caseCarlos Antonio da Silva2014-08-121-5/+0
| | | | | | | | | | | | | | | | | | | | This was added back in Rails 3 on c4a6109286909c394e8c5bfc471a1eb9de245d2b, and is not being used anymore.
* | | | users_dont_suck_but_only_we_suck_and_only_our_tests_are_order_dependent!Akira Matsuda2014-08-121-4/+0
| | | | | | | | | | | | | | | | | | | | Calling ActiveSupport::TestCase.i_suck_and_my_tests_are_order_dependent! in AS::TestCase makes everyone's tests order dependent, which should never be done by the framework.
* | | | Docs: grammar fix for fetch. [ci skip]Mike Coutermarsh2014-08-081-1/+1
| |/ / |/| |
* | | Fix the #const_regexp's documentation [ci skip]Robin Dupret2014-08-081-3/+4
| | | | | | | | | | | | | | | | | | Originally introduced in f9086d63, the documentation of this method is wrong as #const_regexp returns a string to easy the interpolation inside regular expressions.
* | | remove dead file_watcher codeGregory Ostermayr2014-08-071-36/+0
| | |
* | | Fix DateTime comparison with DateTime::Infinity objectRafael Mendonça França2014-08-061-1/+3
| | | | | | | | | | | | Fixes #16406
* | | Fix AS docs / changelog with wrong method [ci skip]Carlos Antonio da Silva2014-08-051-1/+1
| | |
* | | Update itself.rb [ci skip]Jon Atack2014-08-051-1/+1
| | |
* | | Only define Objetc#itself when it is not definedRafael Mendonça França2014-08-041-8/+10
| | | | | | | | | | | | | | | | | | | | | Ruby 2.2 will include Kernel#itself so we don't need to define again. See https://github.com/ruby/ruby/commit/0a0160d6b659f6131a525fe1579e7c463d4c197e
* | | Rename Object#self to Object#itself to have parity with matz sanctioned ↵David Heinemeier Hansson2014-08-012-3/+3
| | | | | | | | | | | | method name for Ruby 2.2
* | | Added Object#self which returns the object itselfDavid Heinemeier Hansson2014-08-012-0/+11
| | |
* | | Avoid creating an extra hashCarlos Antonio da Silva2014-07-311-2/+2
| | |
* | | Raise a descriptive error if non-positive integer passed to in_groups_of.Xavier Shay2014-07-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more consistent than the current behaviour of raising a `ZeroDivisionError: divided by 0` error when 0 is given, which can be non-obvious especially if `in_groups_of` is part of a longer chain of methods. The negative case was ok - "ArgumentError: invalid slice size" - but this error is clearer still.
* | | Merge pull request #16352 from gchan/remove-unnecessary-convert-keyCarlos Antonio da Silva2014-07-301-2/+2
|\ \ \ | | | | | | | | Removed unnecessary call to 'convert_key' in 'HashWithIndifferentAccess#to_hash'
| * | | Removed unnecessary call to 'convert_key' in 'HashWithIndifferentAccess#to_hash'Gordon Chan2014-07-311-2/+2
| | | | | | | | | | | | | | | | All the keys are already Strings by virtue of being a HashWithIndifferentAccess.
* | | | Prevent using String#scrub on RubiniusRobin Dupret2014-07-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Rubinius' has built-in support for String#scrub but it doesn't have yet support for ASCII-incompatible chars so for now, we should rely on the old implementation of #tidy_bytes.
* | | | Revert "Merge pull request #15305 from tgxworld/remove_unnecessary_require"Santiago Pastorino2014-07-301-0/+2
|/ / / | | | | | | | | | | | | | | | | | | This reverts commit f632f79b8dcd144408c66a544984b2ba9cf52f87, reversing changes made to 98c7fe87690ca4de6c46e8f69806e82e3f8af42d. Closes #16343
* / / Add implicit receiver support to `Object#with_options`Pavel Pravosud2014-07-291-2/+15
|/ /
* | Fixed a compatibility issue with the `Oj` gemGodfrey Chan2014-07-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | `Time#as_json`, `Date#as_json` and `DateTime#as_json` incorrectly depends on a delegation that is set up in `active_support/json/encoding`. We cannot simply require that file in `core_ext/object/json` because it would cause a circular dependency problem (see #12203 for background). We should instead rely on AS's autoload to load that file for us on-demand. To trigger autoload correctly, we need to reference the `AS::JSON::Encoding` constant instead of using the delegated version. Fixes #16131.