aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
Commit message (Collapse)AuthorAgeFilesLines
* make `collect_deprecations` available.Yves Senn2013-12-101-11/+10
| | | | | | | | | | There are circumstances where the capabilities of `assert_deprecated` and `assert_not_deprecated` are not enough. For example if a ccertain call-path raises two deprecations but should only raise a single one. This module is still :nodoc and intented for internal use. /cc @rafaelfranca
* doc: date/conversions.rb should talk about date format not time format.Yves Senn2013-12-101-2/+2
| | | | | | Closes #13245. [ci skip]
* Merge pull request #13213 from arunagw/aa-minitest-version-fixAaron Patterson2013-12-061-1/+1
|\ | | | | Minitest upgrade broke build
| * Minitest upgrade broke buildArun Agrawal2013-12-061-1/+1
| | | | | | | | | | | | https://github.com/seattlerb/minitest/commit/34760e3b268bc1bb4ac5fe1a44ef1ff0a2f9bd4d This PR should fix build
* | better error message for constants autoloaded from anonymous modules [fixes ↵Xavier Noria2013-12-061-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #13204] load_missing_constant is a private method that basically plays the role of const_missing. This method has an error condition that is surprising: it raises if the class or module already has the missing constant. How is it possible that if the class of module has the constant Ruby has called const_missing in the first place? The answer is that the from_mod argument is self except for anonymous modules, because const_missing passes down Object in such case (see the comment in the source code of the patch for the rationale). But then, it is better to pass down Object *if Object is also missing the constant* and otherwise err with an informative message right away.
* | Merge pull request #10635 from vipulnsward/change_to_strictJeremy Kemper2013-12-062-4/+8
|\ \ | |/ |/| Use `Base.strict_decode64` instead of `Base.decode64`
| * Use `Base.strict_decode64` instead of `Base.decode64` just as we do in encoding;Vipul A M2013-05-162-4/+8
| | | | | | | | Also reduce extra object allocation by creating string directly instead of join on Array
* | Fix issue with Kernel#silence_stream leaking file descriptorsMario Visic2013-12-061-0/+1
| | | | | | | | | | | | | | 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.
* | set `i18n.enforce_available_locales` before `i18n.default_locale`.Yves Senn2013-12-051-0/+5
| |
* | Review json_escape docs [ci skip]Carlos Antonio da Silva2013-12-041-22/+22
| |
* | Also move html_esacpe regex to a constant (see 9d25af60)Godfrey Chan2013-12-041-1/+2
| |
* | Added \u2028 \u2029 to json_escapeGodfrey Chan2013-12-041-5/+7
| |
* | Use lower case letters in unicodes sequences to match the new encoder's outputGodfrey Chan2013-12-041-1/+1
| |
* | Fixed a long-standing bug in `json_escape` that strips quotation marksGodfrey Chan2013-12-041-12/+49
| |
* | Remove earlier return in favor of conditionalCarlos Antonio da Silva2013-12-031-6/+9
| |
* | Change delimiter check order: first check if it is presentCarlos Antonio da Silva2013-12-031-3/+3
| | | | | | | | | | | | | | This reads a lot better, and we won't need to try start_with? for blank delimiters. Also rename method name to read better.
* | Make both conversion methods work similarlyCarlos Antonio da Silva2013-12-031-1/+2
| | | | | | | | | | The conversion without area code already changed the passed number in place, so change the other method to do the same.
* | Remove useless empty stringCarlos Antonio da Silva2013-12-031-2/+1
| |
* | No need for #tapCarlos Antonio da Silva2013-12-031-4/+3
| |
* | Avoid a hash creation since defaults is a new hash alreadyCarlos Antonio da Silva2013-12-031-1/+1
| |
* | Stop using local variables everywhere, make use of the readerCarlos Antonio da Silva2013-12-036-20/+20
| |
* | Refactor to avoid earlier returnsCarlos Antonio da Silva2013-12-031-5/+9
| |
* | Rename variable that holds whether or not the class should validate a float ↵Carlos Antonio da Silva2013-12-035-9/+9
| | | | | | | | number
* | Added Date#all_week/month/quarter/year for generating date rangesDimko2013-12-032-21/+21
| |
* | Add support for localized date referencesColin Bartlett2013-12-031-0/+10
| | | | | | | | | | | | | | Ruby's Date class automatically gives us #yesterday, #today, and #tomorrow. And ActiveSupport has a handy Time.zone.today for getting a localized version. But there was no localized version of #yesterday or #tomorrow. Until now.
* | Tidy up previous commit, fix message assertion and improve testsCarlos Antonio da Silva2013-12-031-1/+3
| |
* | Modify the Hash#assert_valid_keys error message so that it shows the valid ↵Nerian2013-12-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #13060 from chancancode/change_log_for_json_refactorCarlos Antonio da Silva2013-12-021-0/+27
|\ \ | | | | | | CHANGELOG for JSON refactor + added back the `encode_big_decimal_as_string` option with warning
| * | Added back the `encode_big_decimal_as_string` option with warningGodfrey Chan2013-12-021-0/+27
| | | | | | | | | | | | | | | Also added the missing CHANGELOG entry for #12183 @ 80e7552073 and 4d02296cfb.
* | | Avoid generating more strings while iterating to create methodsCarlos Antonio da Silva2013-12-021-1/+1
| | | | | | | | | | | | | | | Use the already existing strings instead of creating a new one each time just to test if it responds to the methods.
* | | Merge remote-tracking branch 'origin/master'Rafael Mendonça França2013-12-022-2/+2
|\ \ \
| * | | Remove deprecated cattr_* requiresGenadi Samokovarov2013-12-032-2/+2
| | | |
* | | | :sicssors:Rafael Mendonça França2013-12-028-15/+2
| | | |
* | | | Options are not optionalRafael Mendonça França2013-12-021-2/+2
| | | |
* | | | Make execute priave APIRafael Mendonça França2013-12-027-12/+16
| | | |
* | | | Make load of NumberHelper thread safeRafael Mendonça França2013-12-028-26/+11
| | | |
* | | | Merge pull request #10996 from mattdbridges/number-helper-refactorRafael Mendonça França2013-12-029-306/+533
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Refactor and clean up number helpers Conflicts: activesupport/lib/active_support/number_helper.rb
| * | | Extract ActiveSupport::NumberHelper methods to classesMatt Bridges2013-07-019-308/+533
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the overall complexity of each method individually as well as the global shared private module methods, this pulls each helper into it's own converter class inheriting from a generic `NumberBuilder` class. * The `NumberBuilder` class contains the private methods needed for each helper method an eliminates the need for special definition of specialized private module methods. * The `ActiveSupport::NumberHelper::DEFAULTS` constant has been moved into the `NumberBuilder` class because the `NumberBuilder` is the only class which needs access to it. * For each of the builders, the `#convert` method is broken down to smaller parts and extracted into private methods for clarity of purpose. * Most of the mutation that once was necessary has now been eliminated. * Several of the mathematical operations for percentage, delimited, and rounded have been moved into private methods to ease readability and clarity. * Internationalization is still a bit crufty, and definitely could be improved, but it is functional and a bit easier to follow. The following helpers were extracted into their respective classes. * `#number_to_percentage` -> `NumberToPercentageConverter` * `#number_to_delimited` -> `NumberToDelimitedConverter` * `#number_to_phone` -> `NumberToPhoneConverter` * `#number_to_currency` -> `NumberToCurrencyConverter` * `#number_to_rounded` -> `NumberToRoundedConverter` * `#number_to_human_size` -> `NumberToHumanSizeConverter` * `#number_to_human` -> `NumberToHumanConverter`
* | | | Unify cattr and mattr accessors declarationsGenadi Samokovarov2013-12-023-195/+165
| | | |
* | | | added missing requireDaniel Harrington2013-12-021-0/+1
| |/ / |/| | | | | we’re using .delegate and should require it.
* | | EscapedString is also private API [ci skip]Godfrey Chan2013-12-011-1/+1
| | |
* | | Merge pull request #11796 from thedarkone/time-zone-thread-safetyGuillermo Iguaran2013-11-301-13/+7
|\ \ \ | | | | | | | | AS::TimeZone's cache thread safety
| * | | Remove AS::TZ.lookup(name).thedarkone2013-08-071-5/+1
| | | | | | | | | | | | | | | | The method doesn't really make much sense (find_tzinfo will succeed for any imput provided).
| * | | Unify AS::TZ's lazy init maps.thedarkone2013-08-071-9/+5
| | | | | | | | | | | | | | | | There's no point in having 2 almost identical (@lazy_zones_map and @zones_map) lazy initialized TZ instance caches.
| * | | Use TS::Cache instead plain Hash in TimeZone.thedarkone2013-08-071-5/+7
| | | | | | | | | | | | | | | | Plain ruby Hashes are not thread safe.
* | | | Merge pull request #13055 from ↵Rafael Mendonça França2013-11-301-0/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | dmitriy-kiriyenko/fix-segmentation-fault-it-ruby-2.0.0-p353 Fix segmentation fault in Ruby 2.0.0-p353.
| * | | | Fix segmentation fault in Ruby 2.0.0-p353.Dmitriy Kiriyenko2013-11-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Ruby 2.0.0-p353 there was a [commit](https://github.com/ruby/ruby/commit/66915c507777c5e3a978fa73de25db763efd9206) that switched case matching from actual sending `===` method to magic lookup, that does not see it in `method_missing`. It's hard to predict how exactly and when exactly this bug will be solved so here I suggest a solution of defining it in Duration directly. In Ruby 2.0.0-p353 without the added fix added test crashes to segmentation fault.
* | | | | Merge pull request #13111 from akshay-vishnoi/typoCarlos Antonio da Silva2013-11-301-2/+2
|\ \ \ \ \ | |/ / / / |/| | | | Typo fixes [ci skip]
| * | | | Typo fixes [ci skip]Akshay Vishnoi2013-11-301-2/+2
| | | | |
* | | | | Improve Module#delegate documentation to tell that delegate don't work with ↵Lauro Caetano2013-11-291-0/+2
|/ / / / | | | | | | | | | | | | private or protected methods. [ci skip]