aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorGuillermo Iguaran <guilleiguaran@gmail.com>2012-03-10 19:39:13 -0500
committerGuillermo Iguaran <guilleiguaran@gmail.com>2012-03-29 17:48:35 -0500
commit01ede9a211d91d415488d42ff8015809de2ac497 (patch)
tree4233a1a57d72a44257dc539a565649ca15226375 /activerecord/test/cases
parent1555023973d2f60050f16b055335abc4e038e20f (diff)
downloadrails-01ede9a211d91d415488d42ff8015809de2ac497.tar.gz
rails-01ede9a211d91d415488d42ff8015809de2ac497.tar.bz2
rails-01ede9a211d91d415488d42ff8015809de2ac497.zip
Add ActiveRecord::Base#slice to slice method calls
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/base_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index ff39285f62..f0fbca190c 100644
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -2057,4 +2057,16 @@ class BasicsTest < ActiveRecord::TestCase
def test_typecasting_aliases
assert_equal 10, Topic.select('10 as tenderlove').first.tenderlove
end
+
+ def test_slice
+ company = Company.new(:rating => 1, :name => "37signals", :firm_name => "37signals")
+ hash = company.slice(:name, :rating, "arbitrary_method")
+ assert_equal hash[:name], company.name
+ assert_equal hash['name'], company.name
+ assert_equal hash[:rating], company.rating
+ assert_equal hash['arbitrary_method'], company.arbitrary_method
+ assert_equal hash[:arbitrary_method], company.arbitrary_method
+ assert_nil hash[:firm_name]
+ assert_nil hash['firm_name']
+ end
end