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)