lib/squealer/database.rb in squealer-2.2.1 vs lib/squealer/database.rb in squealer-2.2.2
- old
+ new
@@ -1,10 +1,10 @@
-require 'mongo'
-require 'data_objects'
-
require 'singleton'
+require 'mongo'
+# data_objects required under export_to dependant on adapter requested in EXPORT_DBMS
+
module Squealer
class Database
include Singleton
def import_from(host, port, name)
@@ -13,15 +13,18 @@
end
def export_to(adapter, host, username, password, name)
require "do_#{adapter}"
- @@all_export_connections ||= []
- @export_do.dispose if @export_do
-
- @export_do = DataObjects::Connection.new("#{adapter}://#{username}:#{password}@#{host}/#{name}")
- @@all_export_connections << @export_do
+ @export_do.release if @export_do
+ creds = ""
+ creds << username if username
+ creds << ":#{password}" if password
+ at_host = ""
+ at_host << "#{creds}@" unless creds.empty?
+ at_host << host
+ @export_do = DataObjects::Connection.new("#{adapter}://#{at_host}/#{name}")
end
def import
@import_connection
end
@@ -49,11 +52,11 @@
end
def eval(string)
@dbc.eval(string)
end
- end
+ end # Connection
class Source
attr_reader :counts, :cursor
def initialize(dbc, collection)
@@ -76,14 +79,9 @@
@progress_bar.tick if @progress_bar
@counts[:exported] += 1
end
@progress_bar.finish if @progress_bar
end
- end
+ end # Source
- private
-
- def dispose_all_connections
- @@all_export_connections.each {|c| c.dispose if c} if defined?(@@all_export_connections)
- end
end
end