diff options
author | JoseLuis Torres <jl@joseluistorres.me> | 2014-06-26 22:52:01 -0500 |
---|---|---|
committer | JoseLuis Torres <jl@joseluistorres.me> | 2014-08-21 11:46:19 -0500 |
commit | af16fd57933e092067b8e1ff13e2553fc758be27 (patch) | |
tree | 4d05712bbf812200c33429ef33a073cb7b5063a8 | |
parent | 2e355fe0c7f0e4b8a3102864191c0be83fa4c12e (diff) | |
download | rails-af16fd57933e092067b8e1ff13e2553fc758be27.tar.gz rails-af16fd57933e092067b8e1ff13e2553fc758be27.tar.bz2 rails-af16fd57933e092067b8e1ff13e2553fc758be27.zip |
adding the exception RecordNotFound to UUID find
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql/oid/uuid.rb | 2 | ||||
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/uuid_test.rb | 14 | ||||
-rw-r--r-- | activerecord/test/cases/helper.rb | 2 |
3 files changed, 17 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/oid/uuid.rb b/activerecord/lib/active_record/connection_adapters/postgresql/oid/uuid.rb index dd97393eac..033e0324bb 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql/oid/uuid.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql/oid/uuid.rb @@ -12,6 +12,8 @@ module ActiveRecord [a-fA-F0-9]{4}-? [a-fA-F0-9]{4}-?\}?\z}x + alias_method :type_cast_for_database, :type_cast_from_database + def type :uuid end diff --git a/activerecord/test/cases/adapters/postgresql/uuid_test.rb b/activerecord/test/cases/adapters/postgresql/uuid_test.rb index 66006d718f..6e7920b814 100644 --- a/activerecord/test/cases/adapters/postgresql/uuid_test.rb +++ b/activerecord/test/cases/adapters/postgresql/uuid_test.rb @@ -252,5 +252,19 @@ class PostgresqlUUIDTestInverseOf < ActiveRecord::TestCase comment = post.uuid_comments.create! assert post.uuid_comments.find(comment.id) end + + def test_find_with_uuid + UuidPost.create! + assert_raise ActiveRecord::RecordNotFound do + UuidPost.find(123456) + end + + end + + def test_find_by_with_uuid + UuidPost.create! + assert_nil UuidPost.find_by(id: 789) + end end + end diff --git a/activerecord/test/cases/helper.rb b/activerecord/test/cases/helper.rb index e43b796237..209ef597db 100644 --- a/activerecord/test/cases/helper.rb +++ b/activerecord/test/cases/helper.rb @@ -117,7 +117,7 @@ end def enable_uuid_ossp!(connection) return false unless connection.supports_extensions? - return true if connection.extension_enabled?('uuid-ossp') + return connection.reconnect! if connection.extension_enabled?('uuid-ossp') connection.enable_extension 'uuid-ossp' connection.commit_db_transaction |