Class: Baza::Driver::Tiny

Inherits:
BaseSqlDriver show all
Defined in:
lib/baza/driver/tiny.rb

Defined Under Namespace

Classes: Commands, Result

Constant Summary collapse

SEPARATOR_DATABASE =
"`".freeze
SEPARATOR_TABLE =
"".freeze
SEPARATOR_COLUMN =
"".freeze
SEPARATOR_VALUE =
"'".freeze
SEPARATOR_INDEX =
"`".freeze

Constants inherited from BaseSqlDriver

BaseSqlDriver::SELECT_ARGS_ALLOWED_KEYS

Instance Attribute Summary

Attributes inherited from BaseSqlDriver

#cols, #conn, #db, #indexes, #sep_col, #sep_database, #sep_index, #sep_table, #sep_val, #tables

Instance Method Summary collapse

Methods inherited from BaseSqlDriver

#count, #delete, escape, #escape, escape_column, #escape_column, escape_database, #escape_database, escape_index, #escape_index, escape_table, #escape_table, #foreign_key_support?, from_object, #insert_multi, #select, #single, #sql_make_where, sqlval, #sqlval, #supports_multiple_databases?, #transaction

Constructor Details

#initialize(db) ⇒ Tiny

Returns a new instance of Tiny.



8
9
10
11
12
13
14
15
16
# File 'lib/baza/driver/tiny.rb', line 8

def initialize(db)
  super

  @sep_database = SEPARATOR_DATABASE
  @sep_table = SEPARATOR_TABLE
  @sep_col = SEPARATOR_COLUMN
  @sep_val = SEPARATOR_VALUE
  @sep_index = SEPARATOR_INDEX
end

Instance Method Details

#closeObject



23
24
25
# File 'lib/baza/driver/tiny.rb', line 23

def close
  @client.close
end

#insert(table_name, data, args = {}) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/baza/driver/tiny.rb', line 27

def insert(table_name, data, args = {})
  sql = Baza::SqlQueries::GenericInsert.new({
    db: @db,
    table_name: table_name,
    data: data
  }.merge(args)).to_sql

  result = @client.execute(sql)
  result.insert if args[:return_id]
end

#query(sql) ⇒ Object



38
39
40
41
# File 'lib/baza/driver/tiny.rb', line 38

def query(sql)
  result = @client.execute(sql)
  Baza::Driver::Tiny::Result.new(result)
end