sql_query_executor 0.5.4 → 0.5.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25f7708c09ade0472e649ff1dda4f6d3b42501a6
4
- data.tar.gz: 85c07c4235dd569b5c5b3713ad4ae1523e392c7b
3
+ metadata.gz: 85f5db8b826ddf206caa93d7898facf5d76b1e9a
4
+ data.tar.gz: fc6bb235313fc23899480fbbd173d715fdc50a4f
5
5
  SHA512:
6
- metadata.gz: b64b60611d73070e52eb98465afba8d414524637e6849a40a0007859810490ff02eeaf9c82bdf2755cbdeaf60fb0e38e3db11d59a33fbdf662ac4efeb218f72e
7
- data.tar.gz: d7ef08257d169a250717d1e98a4b2e66e6cb5a38dc66afac2844b277845a437a8c35d850747fb12dc5653aac08a141c6ffd3eee9c62b32cec6921ec846a4853e
6
+ metadata.gz: da73194a3eba45142e6f0962005686403682b53029ae28fa9c5c6714c03554c5067936c5a9fc68ba8012e73d8b60dca2aadd172082dc0ad0a0749ec5bfae54a3
7
+ data.tar.gz: 3871cba563d907419574c950f2a7ed93b795a09662ca576d96e360461909df9fc5631812daa5748d2cc6da9777eb8b985f9195df641f0487169927c529a02aea
@@ -68,19 +68,6 @@ module SqlQueryExecutor #:nodoc:
68
68
  @collection = collection
69
69
  end
70
70
 
71
- def convert_collection(collection=[])
72
- @collection = []
73
- collection.each do |object|
74
- attributes = object.is_a?(Hash) ? object : object.attributes
75
- register = OpenStruct.new(attributes)
76
- @collection << register
77
- end
78
- end
79
-
80
- def conforming_collection?(collection)
81
- collection.first.respond_to?(:attributes)
82
- end
83
-
84
71
  def check_query
85
72
  return if @query.empty?
86
73
 
@@ -15,7 +15,14 @@ module SqlQueryExecutor
15
15
  def logic(is_hash=false)
16
16
  initialize_attributes(true)
17
17
 
18
- "#{field(is_hash)} #{@operator} #{@value || 'nil'}"
18
+ field = field(is_hash)
19
+ value = @value || 'nil'
20
+
21
+ if value.is_a?(String) && is_a_number?(value.gsub(/[\"|\']/, ''))
22
+ "#{field} #{@operator} (#{field}.is_a?(Fixnum) ? #{value}.to_i : #{value})"
23
+ else
24
+ "#{field} #{@operator} #{value}"
25
+ end
19
26
  end
20
27
 
21
28
  protected
@@ -44,22 +51,26 @@ module SqlQueryExecutor
44
51
  end
45
52
 
46
53
  def convert_value(value, logic=false)
54
+ real_value = value.dup
47
55
  value.gsub!(/[\(\)\'\"]/, "")
48
- return value.to_i if is_a_number?(value)
49
- return value.to_f if is_a_number?(value, true)
50
- return eval(value) if ['true', 'false'].include?(value)
51
56
 
52
57
  methods = {3 => "convert_date", 7 => "convert_time"}
53
58
 
54
59
  array = split(value)
55
60
 
56
61
  if methods.keys.include?(array.size)
57
- value = (send(methods[array.size], array, logic) || (logic ? "'#{value}'" : value))
58
- elsif logic
59
- value = "'#{value}'" if value.is_a?(String)
62
+ date_value = send(methods[array.size], array, logic)
63
+
64
+ return date_value if date_value
65
+ end
66
+
67
+ unless logic && ["'", '"'].include?(real_value[0])
68
+ return value.to_i if is_a_number?(value)
69
+ return value.to_f if is_a_number?(value, true)
70
+ return eval(value) if ['true', 'false'].include?(value)
60
71
  end
61
72
 
62
- value
73
+ logic ? "'#{value}'" : value
63
74
  end
64
75
 
65
76
  private
@@ -16,9 +16,14 @@ module SqlQueryExecutor
16
16
 
17
17
  private
18
18
  def get_value(logic=false)
19
- value = super
19
+ values = []
20
+ value = @array.last.gsub(SqlQueryExecutor::Base::STRING_SPACE, ' ')
20
21
 
21
- value.gsub(SqlQueryExecutor::Base::STRING_SPACE, '').split(',').map{ |v| convert_value(v, logic) }
22
+ value.split(',').each do |val|
23
+ values.push(convert_value(val, logic))
24
+ end
25
+
26
+ values
22
27
  end
23
28
  end
24
29
  end
@@ -1,3 +1,3 @@
1
1
  module SqlQueryExecutor
2
- VERSION = "0.5.4"
2
+ VERSION = "0.5.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sql_query_executor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caio Torres