lib/shinq.rb in shinq-0.0.1.alpha1 vs lib/shinq.rb in shinq-0.0.1
- old
+ new
@@ -1,34 +1,35 @@
-require "mysql2-cs-bind"
+require 'mysql2'
require 'shinq/client'
+require 'shinq/configuration'
module Shinq
VERSION = Gem.loaded_specs['shinq'].version.to_s
- def self.db_config=(config)
- @db_config = config
- @connections = {}
+ def self.configuration=(config)
+ @configuration = case config
+ when Shinq::Configuration
+ config
+ else
+ Shinq::Configuration.new(config)
+ end
end
- def self.db_config
- @db_config
+ def self.configuration
+ @configuration ||= Shinq::Configuration.new({})
end
- def self.default_db=(db_name)
- @default_db = db_name
- end
-
def self.default_db
- @default_db || ENV['RACK_ENV'] || ENV['RAILS_ENV']
+ self.configuration.default_db ||= ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'development'
end
-
def self.setup_db_connection(db_name)
- @connection ||= {}
- @connections[db_name] = Mysql2::Client.new(db_config[db_name])
+ raise Shinq::ConfigurationError unless self.configuration.db_defined?(db_name)
+ @connections[db_name] = Mysql2::Client.new(self.configuration.db_config[db_name])
end
- def self.connection(db_name: default_db)
+ def self.connection(db_name: self.default_db)
+ @connections ||= {}
@connections[db_name] ||= setup_db_connection(db_name)
end
end
require 'shinq/rails' if defined?(::Rails::Engine)