Class: DBClient

Inherits:
Object
  • Object
show all
Defined in:
lib/data_sources/db_client.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDBClient

Returns a new instance of DBClient.



7
8
9
10
11
# File 'lib/data_sources/db_client.rb', line 7

def initialize
  db_config = YAML.load_file('./lib/db_config/library_config.yaml').transform_keys(&:to_sym)
  @client = Mysql2::Client.new(db_config)
  @client.query_options.merge!(symbolize_keys: true)
end

Class Method Details

.instanceObject



13
14
15
16
17
18
19
20
21
# File 'lib/data_sources/db_client.rb', line 13

def self.instance
  return @instance if @instance

  @instance_mutex.synchronize do
    @instance ||= new
  end

  @instance
end

Instance Method Details

#last_idObject



31
32
33
# File 'lib/data_sources/db_client.rb', line 31

def last_id
  @client.last_id
end

#prepare_exec(statement, *params) ⇒ Object



23
24
25
# File 'lib/data_sources/db_client.rb', line 23

def prepare_exec(statement, *params)
  @client.prepare(statement).execute(*params)
end

#query(statement) ⇒ Object



27
28
29
# File 'lib/data_sources/db_client.rb', line 27

def query(statement)
  @client.query(statement)
end