aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #7376 from ↵Rafael Mendonça França2012-12-214-15/+100
|\ | | | | | | | | | | | | | | | | dmitriy-kiriyenko/fix-double-callback-in-same-statement Prevent callback from being set twice. Conflicts: activesupport/CHANGELOG.md
| * Prevent callback from being set twice.Dmitriy Kiriyenko2012-12-204-15/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When you add one callack in two separate `set_callback` calls - it is only called once. When you do it in one `set_callback` call - it is called twice. This violates the principle of least astonishment for me. Duplicating callback is usually an error. There is a correct and obvious way to do anything without this "feature". If you want to do before_save :clear_balance, :calculate_tax, :clear_balance or whatever, you should better do before_save :carefully_calculate_tax def carefully_calculate_tax clear_balance calculate_tax clear_balance end And this even opens gates for some advanced refactorings, unlike the first approach. My assumptions are: - Principle of least astonishment is violated, when callbacks are either prevented from duplication, or not. - Duplicating callbacks is usually an error. When it is intentional - it's a smell of a bad design and can be approached without abusing this "feature". My suggestion is: do not allow duplicating callbacks in one callback call, like it is not allowed in separate callbacks call.
* | BufferedLogger is deprecated too.Rafael Mendonça França2012-12-211-1/+1
| |
* | Revert "Make sure that ActiveSupport::Logger includes the Logger extensions ↵David Heinemeier Hansson2012-12-214-21/+30
| | | | | | | | | | | | from core_ext/logger" (some confusion over deprecation) This reverts commit d00f568a83a5159ed93618b1081bd17858536d1c.
* | Make sure that ActiveSupport::Logger includes the Logger extensions from ↵David Heinemeier Hansson2012-12-214-30/+21
| | | | | | | | core_ext/logger
* | Add ActiveSupport::Logger#silence that works the same as the old ↵David Heinemeier Hansson2012-12-215-20/+45
| | | | | | | | Logger#silence extension
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-12-211-2/+1
|\ \
| * | Remove Reference to Ruby 1.8.7John Kelly2012-12-201-2/+1
| | |
* | | Fix doc pointing to non existent logger class [ci skip]Carlos Antonio da Silva2012-12-211-1/+1
| | |
* | | Merge pull request #8560 from u16suzu/masterRafael Mendonça França2012-12-201-2/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Fix document for String#humanize Conflicts: activesupport/lib/active_support/core_ext/string/inflections.rb
| * | | Fix: documentation for String#humanizeYuichiro Suzuki2012-12-201-2/+2
| | | |
* | | | Fix Action Mailer changelog indenation to match other changelogsCarlos Antonio da Silva2012-12-191-3/+4
| | | | | | | | | | | | | | | | Also some minor improvements to other changelogs. [ci skip]
* | | | attempt to fix slow runner name methodMax Shytikov2012-12-191-1/+10
| | | |
* | | | fix AS::BasicObject :nodoc: [ci skip]Francesco Rodriguez2012-12-171-2/+1
| | | |
* | | | Add missing requires to core_ext/integer/timePablo Torres2012-12-161-0/+3
| | | |
* | | | AS::BasicObject can be inherited fromPavel Pravosud2012-12-152-2/+19
| |/ / |/| |
* | | Remove unicode character encoding from ActiveSupport::JSON.encodeBrett Carter2012-12-143-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The encoding scheme (e.g. ☠ -> "\u2620") was broken for characters not in the Basic Multilingual Plane. It is possible to escape them for json using the weird encoding scheme of a twelve-character sequence representing the UTF-16 surrogate pair (e.g. '𠜎' -> "\u270e\u263a") but this wasn't properly handled in the escaping code. Since raw UTF-8 is allowed in json, it was decided to simply pass through the raw bytes rather than attempt to escape them.
* | | Convert changelogs to 1.9 hash style and fix some formatting [ci skip]Carlos Antonio da Silva2012-12-141-3/+3
| | |
* | | Merge pull request #8510 from thedarkone/thread_safety_improvementsAaron Patterson2012-12-145-10/+15
|\ \ \ | |_|/ |/| | Thread safety improvements
| * | Replace some global Hash usages with the new thread safe cache.thedarkone2012-12-145-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary of the changes: * Add thread_safe gem. * Use thread safe cache for digestor caching. * Replace manual synchronization with ThreadSafe::Cache in Relation::Delegation. * Replace @attribute_method_matchers_cache Hash with ThreadSafe::Cache. * Use TS::Cache to avoid the synchronisation overhead on listener retrieval. * Replace synchronisation with TS::Cache usage. * Use a preallocated array for performance/memory reasons. * Update the controllers cache to the new AS::Dependencies::ClassCache API. The original @controllers cache no longer makes much sense after @tenderlove's changes in 7b6bfe84f3 and f345e2380c. * Use TS::Cache in the connection pool to avoid locking overhead. * Use TS::Cache in ConnectionHandler.
* | | Backport thread-local variables from Ruby 2.0Rafael Mendonça França2012-12-112-0/+147
| | |
* | | Deprecate obsolete Time to DateTime fallback methodsAndrew White2012-12-1110-33/+62
| | | | | | | | | | | | | | | | | | | | | The Time.time_with_datetime_fallback, Time.utc_time and Time.local_time methods were added to handle the limitations of Ruby's native Time implementation. Those limitations no longer apply so we are deprecating them in 4.0 and they will be removed in 4.1.
* | | Beef up tests for String#in_time_zone and Date#in_time_zoneAndrew White2012-12-112-18/+128
| | |
* | | Clean up 'active_support/time' requiresAndrew White2012-12-111-15/+6
| | | | | | | | | | | | | | | Rely on the hub files for Time, Date and DateTime classes and add the requires for String#to_time and String#in_time_zone.
* | | Deprecate Date#to_time_in_current_zoneAndrew White2012-12-115-5/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The to_time_in_current_zone method doesn't match the naming of the methods for converting to ActiveSupport::TimeWithZone on Time and DateTime. Since DateTime inherits from Date that has led to confusion with some users using the to_time_in_current_zone method with DateTime instances and having the time part dropped and the UTC offset lost. This commit fixes this by deprecating the old method and adding a new in_time_zone method which matches the naming for DateTime and Time. This should prevent accidently dropping times and UTC offsets when converting DateTime instances to ActiveSupport::TimeWithZone.
* | | Add missing at_end_of_* aliasesAndrew White2012-12-113-0/+5
| | |
* | | Add String#in_time_zone methodAndrew White2012-12-114-24/+60
|/ / | | | | | | | | | | This commit adds a convenience method for converting a string to an ActiveSupport::TimeWithZone instance using the configured Time.zone or another passed as an argument.
* | Revert "Omit directories from gemspec.files for RubyGems 2 compat."Jeremy Kemper2012-12-091-1/+1
| | | | | | | | | | | | Obviated by rubygems/rubygems@486ed83cc8e706069213c5d406122f4cfcca9e7f This reverts commit bb8923dee093b615615cdfb83b34d1b0bb254f25.
* | Omit directories from gemspec.files for RubyGems 2 compat.Jeremy Kemper2012-12-081-1/+1
| | | | | | | | | | | | RG2 packager expects each spec.files path to be a file and bombs when it tries to tarball a dir. May revert if rubygems/rubygems#413 is accepted.
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-12-081-1/+1
|\ \
| * | Update activesupport/lib/active_support/deprecation/proxy_wrappers.rbClaudio B.2012-12-071-1/+1
| | | | | | | | | Fix a typo in rdoc (*expect* for *except*)
* | | Rename ActiveSupport::BasicObject to ActiveSupport::ProxyObjectFrancesco Rodriguez2012-12-076-15/+29
| | | | | | | | | | | | | | | AS::BasicObject is used for proxy classes. Let's give it a less concerning name. Also, it avoids the confusion with Ruby's Basic Object.
* | | Add comment about implementation of class_attributeAndrew White2012-12-061-0/+3
| | | | | | | | | | | | | | | | | | | | | To prevent future pull requests like #8435 add a comment about the implementation of class_attribute using class_eval for performance. [ci skip]
* | | silence warning: possibly useless use of a constant in void contextkennyj2012-12-061-3/+7
| | |
* | | Replace comments' non-breaking spaces with spacesclaudiob2012-12-0417-32/+32
|/ / | | | | | | | | | | | | | | | | | | Sometimes, on Mac OS X, programmers accidentally press Option+Space rather than just Space and don’t see the difference. The problem is that Option+Space writes a non-breaking space (0XA0) rather than a normal space (0x20). This commit removes all the non-breaking spaces inadvertently introduced in the comments of the code.
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-12-043-3/+16
|\ \ | | | | | | | | | | | | Conflicts: guides/source/migrations.md
| * | nodoc AS::Testing::ConstantLookup::ClassMethods [ci skip]Carlos Duclos2012-12-011-1/+1
| | |
| * | Add documentation for Hash.from_xml [ci skip]HPNeo2012-12-011-0/+13
| | |
| * | Revert "Remove trailing whitespaces"Florent Guilleux2012-12-0111-31/+33
| | | | | | | | | | | | This reverts commit 90c887fa7d0c454b7533e208daefc342dea4d5f3.
| * | Remove trailing whitespacesFlorent Guilleux2012-12-0111-33/+31
| | |
| * | nodoc AS::Testing::Pending because is deprecated [ci skip]Carlos Duclos2012-12-011-2/+2
| | |
* | | Merge pull request #8393 from frodsan/fix_dependend_order_test_exampleCarlos Antonio da Silva2012-12-031-0/+3
|\ \ \ | | | | | | | | Ensure original encoding does not change in mb_chars test.
| * | | ensure original encoding doesnt changeFrancesco Rodriguez2012-12-011-0/+3
| |/ /
* | | Use send in Time marshal extensions since the methods are now privateCarlos Antonio da Silva2012-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | See https://github.com/ruby/ruby/commit/9c1b3161f20162dc1682d758c0e4d2fc3a74745e All Active Support tests pass in 2.0.0preview2 after this change. Closes #8409
* | | Only take the date parts from Time.zone.nowAndrew White2012-12-012-3/+10
|/ / | | | | | | | | | | | | When there are missing components in the Hash returned by Date._parse only the date components should default to the value of Time.zone.now, the time components should all default to zero.
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-12-011-3/+3
|\ \ | | | | | | | | | | | | Conflicts: guides/source/active_record_validations.md
| * | nodoc AS::Deprecation::InstanceDelegator class [ci skip]Francesco Rodriguez2012-11-291-3/+3
| | |
* | | Patched Marshal#load to work with constant autoloading ↵Uriel Katz2012-12-018-19/+223
| | | | | | | | | | | | (active_support/dependecies.rb) (issue #8167)
* | | Make `Time.zone.parse` to work with JavaScript date stringsAndrew White2012-12-013-25/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chrome, Safari and Firefox serialize Date objects to strings such as 'Mon May 28 2012 00:00:00 GMT-0700 (PDT)'. When these strings are parsed the zone is interpreted as 'GMT-0700' which doesn't exist in the TzInfo list of timezones. By taking advantage of the improved date/time handling in 1.9.3 we can use `Date._parse` and the `:offset` value which is parsed correctly. Three tests were amended to make them pass: 1. test_parse_with_old_date This needed changing to a different value because the original value was before EST was adopted so was being changed to a LMT (Local Mean Time) value after the change. It didn't before because `DateTime` just has offsets from UTC not timezones. 2. test_parse_should_not_black_out_system_timezone_dst_jump Changed the implementation of this test as the stubs were dependent on internal implementation details of the test. Confirmed that the modified test still failed when the implementation of `parse` was restored to pre-#5571. 3. test_parse_should_black_out_app_timezone_dst_jump Ditto. Closes #5770.
* | | Add #seconds_until_end_of_day to DateTime and TimeOlek Janiszewski2012-11-295-1/+84
| | |