aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext
Commit message (Collapse)AuthorAgeFilesLines
* Add days_in_year methodJon Pascoe2015-11-101-0/+19
|
* Merge pull request #21897 from swaathi/masterKasper Timm Hansen2015-11-071-2/+36
|\ | | | | Parameterize with options to preserve the case of string
| * Parameterize with options to preserve case of stringSwaathi K2015-11-071-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added test cases Using kwargs instead of three seperate functions Updated parameterize in transliterate.rb Updated parameterize in transliterate.rb Added deprecation warnings and updating RDoc+Guide Misspelled separtor. Fixed. Deprecated test cases and added support to parameterize with keyword parameters Squashing commits. Fixed test cases and added deprecated test cases Small changes to Gemfile.lock and CHANGELOG Update Gemfile.lock
* | Merge pull request #21806 from kachick/fix-transformer-sizeEileen M. Uchitelle2015-11-072-4/+8
|\ \ | |/ |/| Return a sized Enumerator from Hash#transform_values{!}
| * Return a sized Enumerator from Hash#{transform_values{!}|transform_keys{!}}Kenichi Kamiya2015-09-292-4/+8
| |
* | :scissors:Rafael Mendonça França2015-10-301-1/+0
| |
* | Deprecate `HWIDA.new_from_hash_copying_default`Sean Griffin2015-10-291-1/+1
| | | | | | | | This method was already niche, and is now redundant with `.new`
* | Merge pull request #16357 from gchan/hwia-respects-to-hash-defaultSean Griffin2015-10-291-0/+18
|\ \ | | | | | | | | | | | | `HashWithIndifferentAccess.new` respects the default value or proc on objects that respond to `#to_hash`
| * | `HashWithIndifferentAccess.new` respects the default value or proc on ↵Gordon Chan2014-07-311-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | objects that respond to `#to_hash`. Builds on the work of #12550 where `.new` will convert the object (that respond to `#to_hash`) to a hash and add that hash's keys and values to itself. This change will also make `.new` respect the default value or proc of objects that respond to `#to_hash`. In other words, this `.new` behaves exactly like `.new_from_hash_copying_default`. `.new_from_hash_copying_default` now simply invokes `.new` and any references to `.new_from_hash_copying_default` are replaced with `.new`. Added tests confirm behavior.
* | | Make `Module#redefine_method` to keep method visibilityyui-knk2015-10-261-1/+19
| | | | | | | | | | | | | | | | | | | | | Before this commit `Module#redefine_method` always changes visibility of redefined method to `public`. This commit changes behavior of Module#redefine_method` to keep method visibility.
* | | Add Module#remove_possible_singleton_methodAndrew White2015-10-211-3/+15
| | | | | | | | | | | | | | | This is primarily to fix method redefinition warnings in class_attribute but may be of use in other places where we define singleton methods.
* | | Merge pull request #19992 from greysteil/handle-invalid-utf8-in-html-escapeSean Griffin2015-10-201-2/+8
|\ \ \ | | | | | | | | | | | | Handle invalid UTF-8 strings when HTML escaping
| * | | Handle invalid UTF-8 strings when HTML escapingGrey Baker2015-06-081-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use `ActiveSupport::Multibyte::Unicode.tidy_bytes` to handle invalid UTF-8 strings in `ERB::Util.unwrapped_html_escape` and `ERB::Util.html_escape_once`. Prevents user-entered input passed from a querystring into a form field from causing invalid byte sequence errors.
* | | | Merge pull request #21302 from theunraveler/delegate_reserved_argument_namesSean Griffin2015-10-201-0/+15
|\ \ \ \ | | | | | | | | | | ActiveSupport: Fixing issue when delegating to methods named "block", "args", or "arg"
| * | | | Fixing issue when delegating to methods named "block", "args", or "arg"Jake Bell2015-08-191-0/+15
| | | | |
* | | | | fixes #21815Maarten Jacobs2015-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default timestamp used for AR is `updated_at` in nanoseconds! (:nsec) This causes issues on any machine that runs an OS that supports nanoseconds timestamps, i.e. not-OS X, where the cache_key of the record persisted in the database (milliseconds precision) is out-of-sync with the cache_key in the ruby VM. This commit adds: A test that shows the issue, it can be found in the separate file `cache_key_test.rb`, because - model couldn't be defined inline - transactional testing needed to be turned off to get it to pass the MySQL tests This seemed cleaner than putting it in an existing testcase file. It adds :usec as a dateformat that calculates datetime in microseconds It sets precision of cache_key to :usec instead of :nsec, as no db supports nsec precision on timestamps
* | | | | Expand support for ActiveSupport::TimeWithZone#utc?David Celis2015-10-151-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, ActiveSupport::TimeWithZone#utc? simply runs a check to see if the linked ActiveSupport::TimeZone's name is "UTC". This will only return true for ActiveSupport::TimeZone["UTC"], but not for time zones such as "Etc/UTC", "Etc/Universal", or other time zones that are aliases for UTC. Interestingly enough, ActiveSupport::TimeWithZone#utc? is also aliased as #gmt? but will return false for the "GMT" timezone (along with other TZInfo aliases for GMT). Instead of running a simple check on the TimeZone name, we can rely on the underlying TZInfo::TimezonePeriod and TZInfo::TimezoneOffset which keep a record of of the offset's abbreviated name. The possibilities here for UTC time zones are `:UTC`, `:UCT`, and `:GMT`. Signed-off-by: David <me@davidcel.is>
* | | | | Merge pull request #20600 from ↵Andrew White2015-10-021-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | mtsmfm/xmlschema-should-display-more-than-6-digits TimeWithZone#xmlschema should be able to display more than 6 digits
| * | | | | TimeWithZone#xmlschema should be able to display more than 6 digitsFumiaki MATSUSHIMA2015-09-301-2/+2
| | |_|_|/ | |/| | |
* / | | | Regex fix for mattr_accessor validationAliaksandr Buhayeu2015-10-011-0/+14
|/ / / / | | | | | | | | | | | | | | | | Change ^ and $ operators to \A and \z to prevent code injection after the line breaks
* | | | Merge pull request #21767 from ronakjangir47/missing_transform_values_testRafael Mendonça França2015-09-251-0/+12
|\ \ \ \ | | | | | | | | | | Added missing tests for transform_values! which returns Enumerator
| * | | | Added missing tests for transform_values! which returns Enumerator without ↵Ronak Jangir2015-09-261-0/+12
| | | | | | | | | | | | | | | | | | | | blocks
* | | | | Added missing tests for transform_keys! which returns Enumerator without blockRonak Jangir2015-09-261-0/+12
|/ / / /
* | | | :hocho: TyposAkira Matsuda2015-09-211-1/+1
| | | |
* | | | :scissors: empty line at the top of filesAkira Matsuda2015-09-211-1/+0
|/ / /
* | | Assert that the `:prefix` option of `number_to_human_size` is deprecatedRoque Pinel2015-08-121-8/+10
| | |
* | | Only invoke the default block for mattr_accessor once so that it does not ↵Lachlan Sylvester2015-08-071-0/+6
| | | | | | | | | | | | cause issues if it is not idempotent
* | | Fix `TimeWithZone#eql?` to handle `TimeWithZone` created from `DateTime`Roque Pinel2015-07-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ```ruby twz = DateTime.now.in_time_zone twz.eql?(twz.dup) => false ``` Now: ```ruby twz = DateTime.now.in_time_zone twz.eql?(twz.dup) => true ``` Please notice that this fix the `TimeWithZone` comparison to itself, not to `DateTime`. Based on #3725, `DateTime` should not be equal to `TimeWithZone`.
* | | ActiveSupport::HashWithIndifferentAccess select and reject should return ↵Bernard Potocki2015-07-171-0/+10
| | | | | | | | | | | | enumerator if called without block
* | | Expand coverage of JSON gem testsGodfrey Chan2015-07-111-16/+30
| | |
* | | Add tests to ensure we don't interfere with json gem's outputGodfrey Chan2015-07-111-0/+52
| | |
* | | Require yaml for time_with_zone isolation testPrem Sichanugrist2015-07-101-0/+1
| | | | | | | | | | | | | | | Same fix as 109e71d2bb6d2305a091fe7ea96d4f6e9c7cd52d but after mocha got removed in 2f28e5b6417fd4e5d6060983b36262737558b613.
* | | Reuse the same test for HWIA reverse_merge!Rafael Mendonça França2015-07-101-3/+1
| | |
* | | Merge pull request #20828 from Sirupsen/hash-indifferent-dup-default-procRafael Mendonça França2015-07-101-0/+37
|\ \ \ | | | | | | | | active_support/indifferent_access: fix not raising when default_proc does
| * | | test/hash: move lonely indifferent hash testSimon Eskildsen2015-07-101-0/+6
| | | |
| * | | active_support/indifferent_hash: dont raise on to_hash when default_proc raisesSimon Eskildsen2015-07-101-0/+14
| | | |
| * | | active_support/indifferent_hash: fix cloning default_proc on dupSimon Eskildsen2015-07-101-0/+17
| | | |
* | | | Removed use of mocha in active_supportRonak Jangir2015-07-102-14/+17
|/ / /
* | | Merge pull request #18365 from pocke/fix_datatime_compareAaron Patterson2015-06-122-0/+14
|\ \ \ | |/ / |/| | DateTime#<=> return nil when compare to the invalid String as Time.
| * | DateTime#<=> return nil when compare to the invalid String as Time.pocke2015-01-062-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | before: p Time.now == 'a' # => false p Time.now <=> 'a' # => nil require 'active_support' require 'active_support/core_ext' p Time.now == 'a' # => false p Time.now <=> 'a' # => invalid date (ArgumentError) and on ruby 2.2, Time.now == 'a' warning. warning: Comparable#== will no more rescue exceptions of #<=> in the next release. warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison. after: - Error handling. - Quiet warnings.
* | | Removed mocha stubbing in active_supportRonak Jangir2015-06-076-216/+252
| | |
* | | Merge pull request #20362 from kddeisz/enumerable_pluckRafael Mendonça França2015-06-011-0/+9
|\ \ \ | | | | | | | | Allow Enumerable#pluck to take a splat.
| * | | Allow Enumerable#pluck to take a splat.Kevin Deisz2015-05-291-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | This allows easier integration with ActiveRecord, such that AR#pluck will now use Enumerable#pluck if the relation is loaded, without needing to hit the database.
* | | | Fix a range of values for parameters of the Time#changeNikolay Kondratyev2015-06-011-0/+4
|/ / / | | | | | | | | | | | | Passing 999999000 < `:nsec` < 999999999 and 999999 < `:usec` < 1000000 to change a time with utc_offset doesn't throw an `ArgumentError`.
* | | Merge pull request #20267 from kaspth/fix-minitest-constant-clashingRafael Mendonça França2015-05-281-16/+16
|\ \ \ | | | | | | | | Avoid E constant clashing with Minitest defined version.
| * | | Avoid E constant clashing with Minitest defined version.Kasper Timm Hansen2015-05-221-16/+16
| | | | | | | | | | | | | | | | | | | | Minitest sets an E constant to an empty string to save GC time. This clashes with autoloading tests which define an E constant.
* | | | Add Enumerable#pluck.Kevin Deisz2015-05-281-0/+5
| | | | | | | | | | | | | | | | Allows fetching the same values from arrays as from ActiveRecord associations.
* | | | Remove `.superclass_delegating_accessor`. Refer #14271Akshay Vishnoi2015-05-241-122/+0
| | | |
* | | | Small stylistic tweaks for `Delegator#try` patchGodfrey Chan2015-05-191-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | * Rename `ActiveSupport::Try` => `ActiveSupport::Tryable` * Include the modules inline * `private` indentation
* | | | Patch `Delegator` to work with `#try`Nate Smith2015-05-191-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Delegator` inherits from `BasicObject`, which means that it will not have `Object#try` defined. It will then delegate the call to the underlying object, which will not (necessarily) respond to the method defined in the enclosing `Delegator`. This patches `Delegator` with the `#try` method to work around the surprising behaviour. Fixes #5790