diff options
author | Guillermo Iguaran <guilleiguaran@gmail.com> | 2012-03-10 19:39:13 -0500 |
---|---|---|
committer | Guillermo Iguaran <guilleiguaran@gmail.com> | 2012-03-29 17:48:35 -0500 |
commit | 01ede9a211d91d415488d42ff8015809de2ac497 (patch) | |
tree | 4233a1a57d72a44257dc539a565649ca15226375 /activerecord/lib/active_record | |
parent | 1555023973d2f60050f16b055335abc4e038e20f (diff) | |
download | rails-01ede9a211d91d415488d42ff8015809de2ac497.tar.gz rails-01ede9a211d91d415488d42ff8015809de2ac497.tar.bz2 rails-01ede9a211d91d415488d42ff8015809de2ac497.zip |
Add ActiveRecord::Base#slice to slice method calls
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/core.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/core.rb b/activerecord/lib/active_record/core.rb index 9a2f859fc7..76c424e8b4 100644 --- a/activerecord/lib/active_record/core.rb +++ b/activerecord/lib/active_record/core.rb @@ -1,4 +1,5 @@ require 'active_support/concern' +require 'active_support/core_ext/hash/indifferent_access' require 'thread' module ActiveRecord @@ -326,6 +327,11 @@ module ActiveRecord "#<#{self.class} #{inspection}>" end + # Returns a hash of the given methods with their names as keys and returned values as values. + def slice(*methods) + Hash[methods.map { |method| [method, public_send(method)] }].with_indifferent_access + end + private # Under Ruby 1.9, Array#flatten will call #to_ary (recursively) on each of the elements |