module JunglePath::DBAccess::IO
Public Class Methods
clone_config(config)
click to toggle source
# File lib/jungle_path/db_access/io.rb, line 66 def self.clone_config(config) JunglePath::DBAccess::IO::Config.new( name: config.name, type: config.type, user_name: config.user_name, password: config.password, host: config.host, extensions: config.extensions, port: config.port, options: config.options ) end
connection(database_type:, user_name:, database_name:, host: "localhost", extensions: [], password: nil, port: nil, options: nil)
click to toggle source
# File lib/jungle_path/db_access/io.rb, line 79 def self.connection(database_type:, user_name:, database_name:, host: "localhost", extensions: [], password: nil, port: nil, options: nil) Sequel.default_timezone = :utc colon_port = ":#{port}" if port options = {} unless options if password puts "Using db connection with explicit password!" connection_string = "#{database_type}://#{user_name}:#{password}@#{host}#{colon_port}/#{database_name}" puts "connection_string: #{connection_string}." db = Sequel.connect(connection_string, options) puts "connected." else puts "no explicit pw." connection_string = "#{database_type}://#{user_name}@#{host}#{colon_port}/#{database_name}" puts "connection_string: #{connection_string}." db = Sequel.connect(connection_string, options) puts "connected." end extensions.each do |extension| puts "Adding Sequel extension: #{extension}." db.extension extension end db end
connection_from_config(config)
click to toggle source
# File lib/jungle_path/db_access/io.rb, line 17 def self.connection_from_config(config) connection( database_type: config.type, user_name: config.user_name, database_name: config.name, host: config.host, extensions: config.extensions, password: config.password, port: config.port, options: config.options ) end
connection_from_config_unknown_database(config)
click to toggle source
# File lib/jungle_path/db_access/io.rb, line 30 def self.connection_from_config_unknown_database(config) if config.type == 'postgres' connection_from_config_use_postgres_db(config) elsif config.type == 'tinytds' connection_from_config_use_ms_sql_server_db(config) else throw "Unknown database type: #{config.type}." end end
connection_from_config_use_ms_sql_server_db(config)
click to toggle source
# File lib/jungle_path/db_access/io.rb, line 40 def self.connection_from_config_use_ms_sql_server_db(config) db = connection( database_type: config.type, user_name: config.user_name, database_name: 'master', host: config.host, extensions: config.extensions, password: config.password, port: config.port, options: config.options ) end
connection_from_config_use_postgres_db(config)
click to toggle source
# File lib/jungle_path/db_access/io.rb, line 53 def self.connection_from_config_use_postgres_db(config) db = connection( database_type: config.type, user_name: config.user_name, database_name: 'postgres', host: config.host, extensions: config.extensions, password: config.password, port: config.port, options: config.options ) end