mdlsql 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/mdlsql/join.rb +1 -1
- data/lib/mdlsql/sockets/mysql.rb +1 -3
- data/lib/mdlsql/sqlquery.rb +44 -26
- data/lib/mdlsql/table.rb +19 -1
- data/lib/mdlsql/version.rb +1 -1
- data/lib/mdlsql.rb +6 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a0895818d0c26cdcb9e3e89907bb6a119c55d8f
|
4
|
+
data.tar.gz: f26faadfec22312b7fd95c238f41c8f6e928a92b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 751a8f54247f8971ab648fd7a0a4c0496a27b229b1e97034a52671e1aac467a392ed4dd8a4b7ad28a3e89fb9a61aa534fe0cf7346edda03c6b20de149ca41954
|
7
|
+
data.tar.gz: 53bf47dc92a2302cbc1114cecba585ed803a6047e8a76e39d60a9d6db540330ecaf7e0411f0f255519ecfadd6b3a1263c6e3134b5c39f566ff1a0ddfb26aa1d7
|
data/lib/mdlsql/join.rb
CHANGED
data/lib/mdlsql/sockets/mysql.rb
CHANGED
@@ -38,7 +38,7 @@ class MysqlBuilder < QueryBuilder
|
|
38
38
|
# Columns (with alias)
|
39
39
|
if cols
|
40
40
|
cols.each do |key,value|
|
41
|
-
query << " #{
|
41
|
+
query << " #{key} AS #{value}" << ','
|
42
42
|
end
|
43
43
|
query.chop!
|
44
44
|
else
|
@@ -179,8 +179,6 @@ class MysqlBuilder < QueryBuilder
|
|
179
179
|
query << " #{wh.cond1} #{wh.op} #{wh.cond2}"
|
180
180
|
first = false
|
181
181
|
end
|
182
|
-
else
|
183
|
-
raise 'No WHERE condition in update.'
|
184
182
|
end
|
185
183
|
|
186
184
|
return query
|
data/lib/mdlsql/sqlquery.rb
CHANGED
@@ -131,9 +131,14 @@ module MdlSql
|
|
131
131
|
# table_alias = table_alias if table_alias.is_a? String
|
132
132
|
|
133
133
|
@tables ||= Array.new
|
134
|
-
tables.
|
135
|
-
|
134
|
+
if tables.is_a? Hash
|
135
|
+
tables.each do |table, table_alias|
|
136
|
+
@tables.push Table.new table, table_alias
|
137
|
+
end
|
138
|
+
elsif tables.is_a? Symbol
|
139
|
+
@tables.push Table.new tables, tables
|
136
140
|
end
|
141
|
+
|
137
142
|
|
138
143
|
# @table = table
|
139
144
|
# @table_alias = table_alias unless table_alias.nil?
|
@@ -225,41 +230,54 @@ module MdlSql
|
|
225
230
|
# Exacution command
|
226
231
|
# @todo return true/false when inserting/updating
|
227
232
|
# @todo config for different db
|
228
|
-
|
233
|
+
def execute opts={}
|
229
234
|
if @@host.nil? || @@username.nil? || @@password.nil? || @@db.nil?
|
230
235
|
raise 'MdlSql has not been correctly configured, please use config() to set host, username, password and db.'
|
231
236
|
end
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
237
|
+
unless $client
|
238
|
+
$client = Mysql2::Client.new(
|
239
|
+
:host => @host,
|
240
|
+
:username => @@username,
|
241
|
+
:password => @@password,
|
242
|
+
:database => @@db,
|
243
|
+
:symbolize_keys => true
|
244
|
+
)
|
245
|
+
end
|
241
246
|
|
242
|
-
|
247
|
+
if opts[:query]
|
248
|
+
query = opts[:query]
|
249
|
+
else
|
250
|
+
query = String.new
|
243
251
|
|
244
|
-
|
245
|
-
when :mysql
|
246
|
-
sock = MysqlBuilder
|
247
|
-
end
|
252
|
+
@@socket ||= :mysql
|
248
253
|
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
254
|
+
case @@socket
|
255
|
+
when :mysql
|
256
|
+
sock = MysqlBuilder
|
257
|
+
end
|
258
|
+
|
259
|
+
query = sock.send("#{@method}",
|
260
|
+
{:tables => @tables,
|
261
|
+
:where => @where,
|
262
|
+
:cols => @cols,
|
263
|
+
:values => @values,
|
264
|
+
:join => @join}
|
265
|
+
)
|
266
|
+
end
|
256
267
|
|
257
|
-
puts query if @@debug
|
268
|
+
puts "Query: \n#{query}" if @@debug
|
258
269
|
|
259
|
-
@result = client.query query
|
270
|
+
@result = $client.query query
|
260
271
|
return @result
|
261
272
|
|
262
273
|
end
|
274
|
+
|
275
|
+
# Just execute a query.
|
276
|
+
# Compromises compatibility.
|
277
|
+
|
278
|
+
def query str
|
279
|
+
execute :query => str
|
280
|
+
end
|
263
281
|
end
|
264
282
|
end
|
265
283
|
|
data/lib/mdlsql/table.rb
CHANGED
@@ -19,7 +19,25 @@ module MdlSql
|
|
19
19
|
class Table
|
20
20
|
attr_accessor :name, :as
|
21
21
|
def initialize name, as=nil
|
22
|
-
|
22
|
+
|
23
|
+
if name.is_a? String
|
24
|
+
name = name.to_sym
|
25
|
+
elsif name.is_a? Hash
|
26
|
+
name = name.flatten
|
27
|
+
|
28
|
+
if name[1].is_a? String
|
29
|
+
as = name[1].to_sym
|
30
|
+
else
|
31
|
+
as = name[1]
|
32
|
+
end
|
33
|
+
|
34
|
+
if name[0].is_a? String
|
35
|
+
name = name[0].to_sym
|
36
|
+
else
|
37
|
+
name = name[0]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
23
41
|
as = as.to_sym if as.is_a? String
|
24
42
|
|
25
43
|
@name = name
|
data/lib/mdlsql/version.rb
CHANGED
data/lib/mdlsql.rb
CHANGED
@@ -44,7 +44,7 @@ module MdlSql
|
|
44
44
|
|
45
45
|
def insert
|
46
46
|
query = SqlQuery.new.insert()
|
47
|
-
|
47
|
+
return query
|
48
48
|
end
|
49
49
|
|
50
50
|
def update(table=nil)
|
@@ -52,6 +52,10 @@ module MdlSql
|
|
52
52
|
return query
|
53
53
|
end
|
54
54
|
|
55
|
+
def query str
|
56
|
+
return SqlQuery.new.query(str)
|
57
|
+
end
|
58
|
+
|
55
59
|
# Calls SqlQuery.config to configurate futures queries.
|
56
60
|
# @todo Allow many simultaneous configurations. For the moment being, use different config files.
|
57
61
|
# @option values [Symbol]
|
@@ -59,5 +63,5 @@ module MdlSql
|
|
59
63
|
SqlQuery.config(values)
|
60
64
|
end
|
61
65
|
|
62
|
-
module_function :config, :select, :insert, :update
|
66
|
+
module_function :config, :select, :insert, :update, :query
|
63
67
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mdlsql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sikian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mysql2
|
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
99
99
|
version: '0'
|
100
100
|
requirements: []
|
101
101
|
rubyforge_project:
|
102
|
-
rubygems_version: 2.0.
|
102
|
+
rubygems_version: 2.0.7
|
103
103
|
signing_key:
|
104
104
|
specification_version: 4
|
105
105
|
summary: A modular query builder to enable a high database compatibility, usage easiness
|