Module: Terrazine
- Defined in:
- lib/version.rb,
lib/terrazine.rb,
lib/terrazine/config.rb,
lib/terrazine/result.rb,
lib/terrazine/builder.rb,
lib/terrazine/type_map.rb,
lib/terrazine/presenter.rb,
lib/terrazine/constructor.rb,
lib/terrazine/builders/params.rb,
lib/terrazine/builders/clauses.rb,
lib/terrazine/builders/operators.rb,
lib/terrazine/builders/predicates.rb,
lib/terrazine/builders/expressions.rb
Defined Under Namespace
Classes: Builder, Config, Constructor, Hstore, Presenter, Result, Row, TypeMap
Constant Summary
collapse
- VERSION =
'0.0.3'
Class Method Summary
collapse
Class Method Details
.build_sql(structure, options = {}) ⇒ Object
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/terrazine.rb', line 31
def self.build_sql(structure, options = {})
case structure
when Hash new_constructor(structure).build_sql options
when Constructor
structure.build_sql options
when Array
if structure.first.is_a?(String) && structure.second.is_a?(Array)
structure
else
new_constructor(structure).build_sql options
end
when String
structure
else
raise end
end
|
.config(params) ⇒ Object
15
16
17
|
# File 'lib/terrazine.rb', line 15
def self.config(params)
Config.set params
end
|
.connection ⇒ Object
11
12
13
|
# File 'lib/terrazine.rb', line 11
def self.connection
Config.connection
end
|
.execute_request(connection, sql) ⇒ Object
59
60
61
62
63
64
65
|
# File 'lib/terrazine.rb', line 59
def self.execute_request(connection, sql)
if sql.is_a?(Array)
connection.exec_params(sql.first, sql.second)
else
connection.exec(sql)
end
end
|
.new_constructor(structure = {}) ⇒ Object
27
28
29
|
# File 'lib/terrazine.rb', line 27
def self.new_constructor(structure = {})
Constructor.new structure
end
|
.send_request(structure, params = {}) ⇒ Object
19
20
21
22
23
24
25
|
# File 'lib/terrazine.rb', line 19
def self.send_request(structure, params = {})
sql = build_sql structure
connection = Config.connection!(params[:connection])
res = time_output(sql) { execute_request connection, sql }
Result.new res, params
end
|
.time_output(str = '') ⇒ Object
51
52
53
54
55
56
|
# File 'lib/terrazine.rb', line 51
def self.time_output(str = '')
time = Time.now
res = yield
puts "(\033[32m#{(Time.now - time) * 1000})ms \033[34m#{str}\033[0m"
res
end
|