sql_query_executor 0.5.4 → 0.5.5

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 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