aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dm-sqlite-adapter-with-mutex.rb15
-rw-r--r--test/tc_mauve_database_peculiarities.rb9
2 files changed, 12 insertions, 12 deletions
diff --git a/lib/dm-sqlite-adapter-with-mutex.rb b/lib/dm-sqlite-adapter-with-mutex.rb
index 2842c5e..6c5c022 100644
--- a/lib/dm-sqlite-adapter-with-mutex.rb
+++ b/lib/dm-sqlite-adapter-with-mutex.rb
@@ -5,20 +5,11 @@
require 'dm-sqlite-adapter'
require 'monitor'
-ADAPTER = DataMapper::Adapters::SqliteAdapter
+class DataMapper::Adapters::SqliteAdapter
-# better way to alias a private method? (other than "don't"? :) )
-ADAPTER.__send__(:alias_method, :initialize_old, :initialize)
-ADAPTER.__send__(:undef_method, :initialize)
-ADAPTER.__send__(:alias_method, :with_connection_old, :with_connection)
-ADAPTER.__send__(:undef_method, :with_connection)
+ include MonitorMixin
-class ADAPTER
-
- def initialize(*a)
- extend(MonitorMixin)
- initialize_old(*a)
- end
+ alias_method :with_connection_old, :with_connection
private
diff --git a/test/tc_mauve_database_peculiarities.rb b/test/tc_mauve_database_peculiarities.rb
index 9eb612e..b29bd95 100644
--- a/test/tc_mauve_database_peculiarities.rb
+++ b/test/tc_mauve_database_peculiarities.rb
@@ -81,5 +81,14 @@ class TcMauveDatabaseSqlite3Peculiarities < TcMauveDatabasePeculiarities
# @pg_conn = PGconn.open(:dbname => @temp_db)
@db_url = "sqlite3::memory:"
end
+
+ #
+ # This just makes sure our mixin has been added to the SqliteAdapter.
+ #
+ def test_has_mixin
+ assert DataMapper::Adapters::SqliteAdapter.private_instance_methods.include?("with_connection_old")
+ assert DataMapper::Adapters::SqliteAdapter.public_instance_methods.include?("synchronize")
+ end
+
end