aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
Commit message (Collapse)AuthorAgeFilesLines
* Add more test case for #demodulize, Improve documentationAkshay Vishnoi2014-04-113-0/+5
|
* Merge branch 'master' into rm-uuid-fixturesRafael Mendonça França2014-04-106-7/+116
|\ | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md activesupport/CHANGELOG.md
| * Merge pull request #11656 from emre-basala/xml_mini_testRafael Mendonça França2014-04-101-1/+58
| |\ | | | | | | Add tests to ActiveSupport:XmlMini to_tag method
| | * Add tests to ActiveSupport:XmlMini to_tag methodemre-basala2013-08-071-1/+58
| | |
| * | Merge pull request #11411 from dscataglini/masterAaron Patterson2014-04-091-6/+12
| |\ \ | | | | | | | | Active support callback's before/after/around filters are not correctly making their singleton methods private
| | * | private method doesn't work for singleton methods defined this wayDiego Scataglini2013-07-121-6/+12
| | | |
| * | | Add missing require so requiring `active_support/cache` works again.Lucas Mazza2014-04-091-0/+1
| | | |
| * | | Fixed problem where `1.day.eql?(1.day)` is falseEmily Dobervich2014-04-083-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes: 1.second.eql?(1.second) #=> false The new `eql?` requires that `other` is an `ActiveSupport::Duration`. This requirement makes `ActiveSupport::Duration`'s behavior consistent with other numeric types in Ruby. 1.eql?(1.0) #=> false 1.0.eql?(1) #=> false 1.second.eql?(1) #=> false (was true) 1.eql?(1.second) #=> false { 1 => "foo", 1.0 => "bar" } #=> { 1 => "foo", 1.0 => "bar" } { 1 => "foo", 1.second => "bar" } # now => { 1 => "foo", 1.second => "bar" } # was => { 1 => "bar" } And though the behavior here hasn't changed, for reference: 1 == 1.0 #=> true 1.0 == 1 #=> true 1 == 1.second #=> true 1.second == 1 #=> true
* | | | Merge pull request #12016 from roderickvd/uuid_fixesRafael Mendonça França2014-04-043-0/+80
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Auto-generate stable fixture UUIDs on PostgreSQL Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/fixtures.rb activerecord/test/cases/adapters/postgresql/uuid_test.rb activesupport/CHANGELOG.md
| * | | Auto-generate stable fixture UUIDs on PostgreSQL.Roderick van Domburg2014-01-073-0/+80
| | | | | | | | | | | | | | | | Fixes: #11524
* | | | Merge pull request #14598 from rajcybage/assert_dprecated_for_as_test_caseRafael Mendonça França2014-04-041-4/+4
|\ \ \ \ | | | | | | | | | | Active support instead of ActiveSupport::Deprecation.silence we can use assert_deprecated
| * | | | Active support instead of ActiveSupport::Deprecation.silence we can use ↵Rajarshi Das2014-04-041-4/+4
| | | | | | | | | | | | | | | | | | | | assert_deprecated
* | | | | Fix error when using `with_options` with lambda.Lauro Caetano2014-04-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was causing error when using `with_options` passing a lambda as its last argument. class User < ActiveRecord::Base with_options dependent: :destroy do |assoc| assoc.has_many :profiles, -> { where(active: true) } end end It was happening because the `option_merger` was taking the last argument and checking if it was a Hash. This breaks the HasMany usage, because its last argument can be a Hash or a Proc. As the behavior described in this test: https://github.com/rails/rails/blob/master/activesupport/test/option_merger_test.rb#L69 the method will only accept the lambda, this way it will keep the expected behavior. See 9eaa0a34
* | | | | Move require to actual fileCarlos Antonio da Silva2014-04-022-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change to require all active_support/deprecation since that's the actual entry point for the deprecation methods.
* | | | | Use asert_deprecatedRafael Mendonça França2014-04-021-3/+5
| | | | |
* | | | | DRY AS::SafeBuffer a bit using existing helperPavel Pravosud2014-04-021-5/+1
| | | | |
* | | | | Make AS::SafeBuffer#prepend act like String#prependPavel Pravosud2014-03-313-6/+41
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Make `#prepend` method modify instance in-place and return self instead of just returning modified value. That is exactly what `#prepend!` method was doing previously, so it's deprecated from now on.
* | | | HashWithIndifferentAccess better respects #to_hashPeter Jaros2014-03-283-3/+51
| | | | | | | | | | | | | | | | | | | | | | | | In particular, `.new`, `#update`, `#merge`, `#replace` all accept objects which respond to `#to_hash`, even if those objects are not Hashes directly.
* | | | - Rename `increment_or_decrement` to an apt `set_cache_value` since it ↵Vipul A M2014-03-241-4/+5
| | | | | | | | | | | | | | | | actually doesn't increment/decrement in localstore.
* | | | Deprecate Class#superclass_delegating_accessorAkshay Vishnoi2014-03-203-6/+36
| | | |
* | | | fix `number_to_percentage` with `Float::NAN`, `Float::INFINITY`.Yves Senn2014-03-172-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes #14405. This is a follow-up to 9e997e9039435617b6a844158f5437e97f6bc107 to restore the documented behavior.
* | | | Minor grammer, code conventions fix [ci skip]Zoltan Kiss2014-03-151-2/+1
| | | | | | | | | | | | | | | | | | | | Conflicts: activesupport/lib/active_support/core_ext/hash/conversions.rb
* | | | Remove deprecation on active_support/core_ext/class/attribute_accessors ↵Jeremy Kemper2014-03-151-5/+3
| | | | | | | | | | | | | | | | requires. Appropriate to keep this, users don't care that the implementation got unified.
* | | | Fix #to_json for BasicObject EnumerablesSammy Larbi2014-03-144-12/+40
| | | |
* | | | make tests pass on Ruby 2.2Aaron Patterson2014-03-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Apparently we've been using a buggy feature for the past 6 years: https://bugs.ruby-lang.org/issues/9593
* | | | use method_defined? to check whether or not a method is definedAaron Patterson2014-03-121-1/+1
| | | |
* | | | Merge pull request #14244 from arthurnn/orderd_hash_select_fixSantiago Pastorino2014-03-082-1/+8
|\ \ \ \ | | | | | | | | | | Fix OrderedHash.select to return self instance.
| * | | | Fix OrderedHash.select to return self instance.Arthur Neves2014-03-072-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On ruby 2.1.1 the behavior of .select and .reject has changed. They will return a Hash new instance, so we need to override them to keep the instance object class.
* | | | | Introduce `Rails.gem_version`Prem Sichanugrist2014-03-052-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method return `Gem::Version.new(Rails.version)`, suggesting a more reliable way to perform version comparison. Example: Rails.version #=> "4.1.2" Rails.gem_version #=> #<Gem::Version "4.1.2"> Rails.version > "4.1.10" #=> false Rails.gem_version > Gem::Version.new("4.1.10") #=> true Gem::Requirement.new("~> 4.1.2") =~ Rails.gem_version #=> true This was originally introduced as `.version` by @charliesome in #8501 but got reverted in #10002 since it was not backward compatible. Also, updating template for `rake update_versions`.
* | | | | Revert "Merge pull request #14269 from arthurnn/expanded_key_array"Godfrey Chan2014-03-043-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 475c96589ca65282e1a61350271c2f83f0d4044f, reversing changes made to 705915ab5cf24430892107764b0050c07e1df583. We decided that this is not worth busting everyone's cache as this seems like a very unlikely problem. The problem only occurs when the user is 1) not using a namespace, or 2) using the same namesapce for different *kinds* of cache items. The recommended "fix" is to put those cache items into their own namspace: id = 1 Rails.cache.fetch(id, namespace: "user"){ User.find(id) } ids = [1] Rails.cache.fetch(ids, namespace: "users"){ User.find(ids) } See the discussion on #14269 for details.
* | | | | Cache key should be different when is Array.Arthur Neves2014-03-033-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `cache.fetch(['foo'])` and `cache.fetch('foo')` should generate different cache keys as they are not equivalents. [related #8615] [related #8614]
* | | | | Add a comment to ensure that a test won't be removed [ci skip]Robin Dupret2014-03-031-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | The 'cow' => 'kine' inflection has gone with c300dca9 but it should not be removed from the tested irregularities since it ensures that inflections work with words that do not begin with the same letters.
* | | | Return a hash rather than array from fetch_multiParker Selbert2014-02-263-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of `fetch_multi` returns an array and has no means to easily backtrack which names yielded which results. By changing the return value to a Hash we retain the name information. Hash#values can be used on the response if only the values are needed.
* | | | Fix concerning module reference [ci skip]Carlos Antonio da Silva2014-02-261-1/+1
| | | |
* | | | speed up `underscore` in cases that don't need to do anythingAaron Patterson2014-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Benchmark: Benchmark.ips do |x| x.report("home") { "home".underscore } x.report("Home") { "Home".underscore } x.report("homeBase") { "homeBase".underscore } x.report("home::base") { "home::base".underscore } end Before: Calculating ------------------------------------- home 2598 i/100ms Home 2463 i/100ms homeBase 2300 i/100ms home::base 2086 i/100ms ------------------------------------------------- home 28522.3 (±14.7%) i/s - 140292 in 5.065102s Home 29165.8 (±14.9%) i/s - 140391 in 5.000475s homeBase 26218.5 (±7.1%) i/s - 131100 in 5.030485s home::base 27712.3 (±5.9%) i/s - 139762 in 5.064077s After: Calculating ------------------------------------- home 23163 i/100ms Home 2432 i/100ms homeBase 2160 i/100ms home::base 2265 i/100ms ------------------------------------------------- home 1501614.8 (±10.2%) i/s - 7412160 in 5.009540s Home 28754.0 (±8.5%) i/s - 143488 in 5.033886s homeBase 25331.1 (±5.6%) i/s - 127440 in 5.047940s home::base 27089.9 (±5.5%) i/s - 135900 in 5.033516s
* | | | Point master changelogs to 4-1-stable branchCarlos Antonio da Silva2014-02-251-633/+1
| | | | | | | | | | | | | | | | Remove 4-1 related entries from master [ci skip]
* | | | Go with #presence_in instead of #present_in -- it doesnt sound quite as ↵David Heinemeier Hansson2014-02-243-7/+7
| | | | | | | | | | | | | | | | good, but the closer relationship to #presence over #present is ultimately worth it
* | | | Merge pull request #14171 from arthurnn/extract_middleware_cacheGuillermo Iguaran2014-02-232-32/+41
|\ \ \ \ | | | | | | | | | | Extract local cache middleware
| * | | | Extract local cache middlewareArthur Neves2014-02-232-32/+41
| | | | | | | | | | | | | | | | | | | | | | | | | Extract LocalCache Middleware, so it can requires rack dependencies, without adding rack dependencies to `AS::Cache::Strategy::LocalCache`.
* | | | | Introduce Concern#class_methods and Kernel#concernJeremy Kemper2014-02-237-18/+113
|/ / / /
* | | | update version to 4.2.0.alphaYves Senn2014-02-231-1/+1
| | | |
* | | | Merge pull request #14102 from arthurnn/quietly_docXavier Noria2014-02-191-0/+4
|\ \ \ \ | | | | | | | | | | Add note to silence_stream and quietly. [skip ci]
| * | | | Methods silence_stream/quietly are not thread-safe [skip ci]Arthur Neves2014-02-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | State that on the doc. [fixes #11954]
* | | | | Merge branch '4-1-0-beta2'Rafael Mendonça França2014-02-181-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: actionview/CHANGELOG.md activerecord/CHANGELOG.md
| * | | | | Preparing for 4.1.0.beta2 releaseRafael Mendonça França2014-02-181-1/+1
| | | | | |
* | | | | | Move changelog entry to the top, fix examples indent [ci skip]Carlos Antonio da Silva2014-02-181-10/+10
| | | | | |
* | | | | | Use assert_nil instead as its clearer about what the return is expected to beDavid Heinemeier Hansson2014-02-181-1/+1
| | | | | |
* | | | | | Added Object#present_in to simplify value whitelistingDavid Heinemeier Hansson2014-02-183-0/+29
| |/ / / / |/| | | |
* | | | | travel_to travels back and re-raises if the block raisesXavier Noria2014-02-182-3/+18
| | | | |
* | | | | adds a missing travel backXavier Noria2014-02-181-4/+4
| | | | |