From a982443ae5bd12535405dbdb40f27df2d612256e Mon Sep 17 00:00:00 2001
From: Daniel Schierbeck <daniel.schierbeck@gmail.com>
Date: Sat, 9 Jul 2011 14:24:28 +0200
Subject: Make #extract_schema_and_table an instance method in Utils

Also, move the utils test into its own test case.
---
 .../connection_adapters/postgresql_adapter.rb          |  4 +++-
 .../test/cases/adapters/postgresql/schema_test.rb      | 15 ---------------
 .../test/cases/adapters/postgresql/utils_test.rb       | 18 ++++++++++++++++++
 3 files changed, 21 insertions(+), 16 deletions(-)
 create mode 100644 activerecord/test/cases/adapters/postgresql/utils_test.rb

(limited to 'activerecord')

diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
index a84f73c73f..df753d087c 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -948,6 +948,8 @@ module ActiveRecord
       end
 
       module Utils
+        extend self
+
         # Returns an array of <tt>[schema_name, table_name]</tt> extracted from +name+.
         # +schema_name+ is nil if not specified in +name+.
         # +schema_name+ and +table_name+ exclude surrounding quotes (regardless of whether provided in +name+)
@@ -958,7 +960,7 @@ module ActiveRecord
         # * <tt>schema_name.table_name</tt>
         # * <tt>schema_name."table.name"</tt>
         # * <tt>"schema.name"."table name"</tt>
-        def self.extract_schema_and_table(name)
+        def extract_schema_and_table(name)
           table, schema = name.scan(/[^".\s]+|"[^"]*"/)[0..1].collect{|m| m.gsub(/(^"|"$)/,'') }.reverse
           [schema, table]
         end
diff --git a/activerecord/test/cases/adapters/postgresql/schema_test.rb b/activerecord/test/cases/adapters/postgresql/schema_test.rb
index 3a7f1badf0..4c6d865d59 100644
--- a/activerecord/test/cases/adapters/postgresql/schema_test.rb
+++ b/activerecord/test/cases/adapters/postgresql/schema_test.rb
@@ -219,21 +219,6 @@ class SchemaTest < ActiveRecord::TestCase
     end
   end
 
-  def test_extract_schema_and_table
-    {
-      %(table_name)            => [nil,'table_name'],
-      %("table.name")          => [nil,'table.name'],
-      %(schema.table_name)     => %w{schema table_name},
-      %("schema".table_name)   => %w{schema table_name},
-      %(schema."table_name")   => %w{schema table_name},
-      %("schema"."table_name") => %w{schema table_name},
-      %("even spaces".table)   => ['even spaces','table'],
-      %(schema."table.name")   => ['schema', 'table.name']
-    }.each do |given, expect|
-      assert_equal expect, ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::Utils.extract_schema_and_table(given)
-    end
-  end
-
   def test_current_schema
     {
       %('$user',public)                        => 'public',
diff --git a/activerecord/test/cases/adapters/postgresql/utils_test.rb b/activerecord/test/cases/adapters/postgresql/utils_test.rb
new file mode 100644
index 0000000000..5f08f79171
--- /dev/null
+++ b/activerecord/test/cases/adapters/postgresql/utils_test.rb
@@ -0,0 +1,18 @@
+class PostgreSQLUtilsTest < ActiveSupport::TestCase
+  include ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::Utils
+
+  def test_extract_schema_and_table
+    {
+      %(table_name)            => [nil,'table_name'],
+      %("table.name")          => [nil,'table.name'],
+      %(schema.table_name)     => %w{schema table_name},
+      %("schema".table_name)   => %w{schema table_name},
+      %(schema."table_name")   => %w{schema table_name},
+      %("schema"."table_name") => %w{schema table_name},
+      %("even spaces".table)   => ['even spaces','table'],
+      %(schema."table.name")   => ['schema', 'table.name']
+    }.each do |given, expect|
+      assert_equal expect, extract_schema_and_table(given)
+    end
+  end
+end
-- 
cgit v1.2.3