aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-09-2136-219/+217
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: actionmailer/lib/action_mailer/base.rb activesupport/lib/active_support/configurable.rb activesupport/lib/active_support/core_ext/module/deprecation.rb guides/source/action_controller_overview.md guides/source/active_support_core_extensions.md guides/source/ajax_on_rails.textile guides/source/association_basics.textile guides/source/upgrading_ruby_on_rails.md While resolving conflicts, I have chosen to ignore changes done in docrails at some places - these will be most likely 1.9 hash syntax changes.
| * Fix indentation and update documentation for Array#wrap for Ruby 1.9Jo Liss2012-09-201-9/+10
| |
| * fix Hash#slice code example [ci skip]Francesco Rodriguez2012-09-181-1/+1
| |
| * fix AS/core_ext examples [ci skip]Francesco Rodriguez2012-09-123-3/+3
| |
| * update AS/core_ext docs [ci skip]Francesco Rodriguez2012-09-1229-113/+121
| |
| * update some AS code examples to 1.9 hash syntax [ci skip]Francesco Rodriguez2012-09-128-107/+96
| |
* | Update delegate docs with new hash syntax [ci skip]Carlos Antonio da Silva2012-09-201-10/+10
| |
* | Add changelog entry and docs about class delegation using the symbol :classCarlos Antonio da Silva2012-09-201-0/+12
| | | | | | | | See #7613. [ci skip]
* | Merge pull request #7613 from marcandre/delegate_to_classJeremy Kemper2012-09-201-0/+3
|\ \ | | | | | | Nice and easy delegation to the class
| * | Nice and easy delegation to the classMarc-Andre Lafortune2012-09-111-0/+3
| | |
* | | Date.beginning_of_week thread local and beginning_of_week application config ↵gregolsen2012-09-183-17/+60
| | | | | | | | | | | | option added (default is Monday)
* | | Improve Process::Status#to_jsonSteve Klabnik2012-09-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Allow passing block to deep_merge and deep_merge!Pranas Kiziela2012-09-131-4/+10
| | | | | | | | | | | | | | | Hash#merge accepts block that you can use to customize how hash values are merged. This change makes merge and deep_merge compatible.
* | | Copy-edit deprecation relared documentation [ci skip]Rafael Mendonça França2012-09-131-28/+10
| | |
* | | Change ActiveSupport::Deprecation to class.Piotr Niełacny2012-09-131-1/+33
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / &#39 dates back to SGML when &#x27 was introduced in HTML 4.0Kalys Osmonov2012-09-091-1/+1
|/
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-09-013-4/+15
|\
| * copy edits [ci skip]Vijay Dev2012-09-011-1/+1
| |
| * Expand documentation for change() method in Time, Date, and DateTimeJeff Shantz2012-08-293-4/+15
| |
* | Remove unused variableRafael Mendonça França2012-08-261-1/+1
| |
* | Merge pull request #7029 from panthomakos/date-and-timeRafael Mendonça França2012-08-253-379/+218
|\ \ | | | | | | Refactored common date and time calculations.
| * | Refactored common date and time calculations.Pan Thomakos2012-08-043-379/+218
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | revises a brittle test in Active SupportXavier Noria2012-08-221-11/+21
| |/ |/| | | | | | | | | | | The revised test assumed that the default permissions of a file matched the umask of the process, but in the general case that depends also on the file system. This test was failing in the /vagrant shared folder of Rails development boxes.
* | Merge pull request #3578 from amatsuda/remove_j_alias_for_json_escapeRafael Mendonça França2012-08-211-7/+0
|\ \ | | | | | | Remove j alias for ERB::Util.json_escape
| * | Remove j alias for ERB::Util.json_escapeAkira Matsuda2011-11-091-7/+0
| | |
* | | Bring back changelog entries for Active SupportCarlos Antonio da Silva2012-08-111-2/+2
| | | | | | | | | | | | Removed in 0228a73b1094a3e19ad291d2ce4789890c09578a, pull request #7310.
* | | defines String#indent [closes #7263] [Xavier Noria & Ace Suares]Xavier Noria2012-08-072-0/+44
| |/ |/|
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-041-2/+5
|\ \ | | | | | | | | | | | | | | | Conflicts: activemodel/lib/active_model/secure_password.rb activerecord/lib/active_record/associations/collection_proxy.rb
| * | update to_param docs [ci skip]Francesco Rodriguez2012-07-271-2/+5
| | |
* | | html_escape should escape single quotesSantiago Pastorino2012-07-311-3/+3
| | | | | | | | | | | | | | | https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet#RULE_.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content Closes #7215
* | | Merge pull request #7197 from davidcelis/i18n_inflectorJosé Valim2012-07-311-4/+18
|\ \ \ | | | | | | | | Make ActiveSupport::Inflector locale aware and multilingual
| * | | Make ActiveSupport::Inflector locale aware and multilingualDavid Celis2012-07-301-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Inflector is currently not very supportive of internationalized websites. If a user wants to singularize and/or pluralize words based on any locale other than English, they must define each case in locale files. Rather than create large locale files with mappings between singular and plural words, why not allow the Inflector to accept a locale? This patch makes ActiveSupport::Inflector locale aware and uses `:en`` unless otherwise specified. Users will still be provided a list of English (:en) inflections, but they may additionally define inflection rules for other locales. Each list is kept separately and permanently. There is no reason to limit users to one list of inflections: ActiveSupport::Inflector.inflections(:es) do |inflect| inflect.plural(/$/, 's') inflect.plural(/([^aeéiou])$/i, '\1es') inflect.plural(/([aeiou]s)$/i, '\1') inflect.plural(/z$/i, 'ces') inflect.plural(/á([sn])$/i, 'a\1es') inflect.plural(/é([sn])$/i, 'e\1es') inflect.plural(/í([sn])$/i, 'i\1es') inflect.plural(/ó([sn])$/i, 'o\1es') inflect.plural(/ú([sn])$/i, 'u\1es') inflect.singular(/s$/, '') inflect.singular(/es$/, '') inflect.irregular('el', 'los') end 'ley'.pluralize(:es) # => "leyes" 'ley'.pluralize(:en) # => "leys" 'avión'.pluralize(:es) # => "aviones" 'avión'.pluralize(:en) # => "avións" A multilingual Inflector should be of use to anybody that is tasked with internationalizing their Rails application. Signed-off-by: David Celis <david@davidcelis.com>
* | | | Revert "DRY class_attribute code"José Valim2012-07-301-3/+6
|/ / / | | | | | | | | | | | | | | | | | | class_attribute is a building block and using define_method can be much slower for such basic method definitions. This reverts commit d59208d7032e2be855a89ad8d4685cc08dd7cdb3.
* | | DRY class_attribute codeAleksandr Zykov2012-07-291-6/+3
| | |
* | | Add Object#try! with the old NoMethodError raising behaviorDavid Heinemeier Hansson2012-07-271-0/+14
| | |
* | | will now return nil instead of raise a NoMethodError if the receiving ↵David Heinemeier Hansson2012-07-271-1/+4
|/ / | | | | | | object does not implement the method
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-07-151-5/+5
|\ \
| * | use 'use_zone' method in example, instead of reimplementing itJakub Kuźma2012-07-101-5/+5
| | |
* | | adds a missing require [fixes #6896]Xavier Noria2012-07-152-1/+1
| | | | | | | | | | | | | | | This file uses Time.zone, which is defined in active_support/core_ext/time/zones.rb.
* | | Added time related req files to AS core_ext #6896Aaron Cruz2012-07-143-0/+14
|/ / | | | | | | | | | | This way you can `require 'active_record/core_ext/time'` for example I see these libs are available through `active_record/time` but not individually
* | Improve performance of DateTime#seconds_since_unix_epochAndrew White2012-07-021-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calculate the seconds since the UNIX epoch using the difference in Julian day numbers from the epoch date. By reducing the Rational math to just the offset component this gives a significant improvement. Benchmark: Calculating -------------------------------------------- new 27733 i/100ms current 15031 i/100ms new 27737 i/100ms current 15549 i/100ms -------------------------------------------------------- new 548182.1 (±0.9%) i/s - 2745567 in 5.008943s current 216380.9 (±1.6%) i/s - 1082232 in 5.002781s new 510281.9 (±1.2%) i/s - 2551804 in 5.001525s current 219858.3 (±1.8%) i/s - 1103979 in 5.023039s
* | Revert "Use strftime to convert DateTime to numeric"Andrew White2012-07-011-1/+2
| | | | | | | | | | | | | | There appears to be a bug with DateTime#strftime("%s") on 32-bit platforms. Bug report: http://bugs.ruby-lang.org/issues/6683 This reverts commit 210cd756a628cc19c0d6e44bee8c33dfb2d9d598.
* | Make Time#change work with offsets other than UTC or localAndrew White2012-07-011-10/+15
| | | | | | | | | | Use Time.new to create times where the current offset is not zero or not in the local time zone - closes #4847 and #6651.
* | Remove DateTime#to_time overrideAndrew White2012-07-011-14/+0
| | | | | | | | | | | | | | | | Currently if the offset is not zero then to_time returns self which can lead to errors where a developer assumes that the value is a Time. To solve this we can use the native implementation of DateTime#to_time in Ruby 1.9.3 as it handles offsets properly and is faster than our override.
* | Use strftime to convert DateTime to numericAndrew White2012-07-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native implementation of the seconds since the UNIX epoch in strftime is significantly faster than our method. Benchmark: ---------- require 'benchmark/ips' require 'date' require 'time' date = DateTime.civil(1253,7,6,20,4,0) Benchmark.ips do |x| x.report("strftime.to_i") { date.strftime('%s').to_i } x.report("ssue.to_i") { ((date - DateTime.civil(1970)) * 86400).to_i } x.report("strftime.to_f") { date.strftime('%s').to_f } x.report("ssue.to_f") { ((date - DateTime.civil(1970)) * 86400).to_f } end Output: ------- Calculating ------------------------------------- strftime.to_i 26480 i/100ms ssue.to_i 13818 i/100ms strftime.to_f 26561 i/100ms ssue.to_f 14479 i/100ms ------------------------------------------------- strftime.to_i 616937.3 (±2.4%) i/s - 3098160 in 5.024749s ssue.to_i 200108.8 (±6.9%) i/s - 994896 in 4.999278s strftime.to_f 553581.3 (±2.2%) i/s - 2788905 in 5.040397s ssue.to_f 204260.3 (±4.3%) i/s - 1028009 in 5.043072s
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-06-301-7/+0
|\ \ | | | | | | | | | | | | Conflicts: activemodel/lib/active_model/errors.rb
| * | Remove mention of `convert_key` now that it's been taken out in ↵Alex Nisnevich2012-06-281-7/+0
| | | | | | | | | | | | 1eecd9483b0439ab4913beea36f0d0e2aa0518c7
* | | Speed up Hash#transform_keys using Hash#each_keyGrant Hutchins2012-06-271-1/+1
| | | | | | | | | See https://gist.github.com/3007749 for justification
* | | Ensure Array#to_sentence does not modify given hashCarlos Antonio da Silva2012-06-261-8/+3
| | | | | | | | | | | | | | | Also simplify I18n logic for Array#to_sentence, doing only one lookup for all keys and using merge!, instead of one lookup for each option key.
* | | Add missing require.Rhett Sutphin2012-06-251-0/+1
|/ / | | | | | | | | | | | | | | If you selectively require core_exts (e.g., require 'active_support/core_ext/string'), it is possible for 'active_support/core_ext/time/calculations' to be required when `ActiveSupport::TimeWithZone` is not available. If this happens, the next call to Time.=== will fail with a NameError.