class Makanai::Database

Attributes

client[R]

Public Class Methods

new(client: Settings.databse_client, config: Settings.databse_config) click to toggle source
# File lib/makanai/database.rb, line 9
def initialize(client: Settings.databse_client, config: Settings.databse_config)
  client_class = client_class(client)
  @client = client_class.new(config)
end

Public Instance Methods

execute_sql(sql) click to toggle source
# File lib/makanai/database.rb, line 16
def execute_sql(sql)
  puts "SQL: #{sql.gsub("\n", ' ')}"
  client.execute_sql(sql)
end

Private Instance Methods

client_class(client) click to toggle source
# File lib/makanai/database.rb, line 23
def client_class(client)
  require_relative File.join('dbms', client.to_s)
  Object.const_get("Makanai::Dbms::#{client.capitalize}")
rescue LoadError
  raise UnsupportedException
end