rooble 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rooble.rb +9 -12
- data/lib/rooble/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28a21415ee2a634a1680dedba3f794c6ae4a1014
|
4
|
+
data.tar.gz: 6c8cdacaa4ae3183d41b176867bdfd2fbc92f74f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3119159682297c57f36d624922023cde2881183a15477b52f12da4fe540b0c74316c11480f1dd41b38f1b06a543dd935a5454982575a4804bbcb4874bb045977
|
7
|
+
data.tar.gz: bae92d903cd64307609e89cbb952c45aadf09c6478e413566e8759026074bf80ec0c23be58871df5ee7726e7c9e4ff0e489abcf7e6a7e6f596f81ff2140a1c5e
|
data/lib/rooble.rb
CHANGED
@@ -73,8 +73,9 @@ module Rooble
|
|
73
73
|
end
|
74
74
|
|
75
75
|
fields = [].push(fields) unless fields.is_a? Array
|
76
|
+
fields.collect! { |f| f.to_s }
|
76
77
|
search_values = []
|
77
|
-
query =
|
78
|
+
query = []
|
78
79
|
case_sensitive = false
|
79
80
|
or_cond = ''
|
80
81
|
id_fields = ['id']
|
@@ -90,19 +91,15 @@ module Rooble
|
|
90
91
|
end
|
91
92
|
|
92
93
|
fields.each_with_index do |field,index|
|
93
|
-
# set the OR if we have more than one field
|
94
|
-
if index > 0
|
95
|
-
or_cond = "OR"
|
96
|
-
end
|
97
94
|
|
98
95
|
# lets find out if we are looking for the ID, we can't
|
99
96
|
# use like for integers so we use equality instead
|
100
97
|
if id_fields.include? field.downcase
|
101
98
|
# check that the search term is actually a number
|
102
|
-
next unless search_term.gsub('%', '').to_i > 0
|
99
|
+
next unless search_term.to_s.gsub('%', '').to_i > 0
|
103
100
|
|
104
101
|
operator = "="
|
105
|
-
search_values.push(search_term.gsub('%', '').to_i)
|
102
|
+
search_values.push(search_term.to_s.gsub('%', '').to_i)
|
106
103
|
else
|
107
104
|
# set whether we want case sensitive search
|
108
105
|
case ActiveRecord::Base.connection.adapter_name
|
@@ -111,6 +108,8 @@ module Rooble
|
|
111
108
|
search_value = search_term
|
112
109
|
when "MySQL", "Mysql2", "SQLite"
|
113
110
|
operator = "LIKE"
|
111
|
+
# downcase the search term if we are doing case insensitive search so
|
112
|
+
# the value of downcasing the column matches
|
114
113
|
if case_sensitive
|
115
114
|
search_value = search_term
|
116
115
|
else
|
@@ -119,15 +118,13 @@ module Rooble
|
|
119
118
|
end
|
120
119
|
end
|
121
120
|
|
122
|
-
#
|
123
|
-
# the value of downcasing the column matches
|
124
|
-
search_values.push("#{search_value}")
|
121
|
+
search_values.push("#{search_value.to_s}")
|
125
122
|
end
|
126
123
|
|
127
|
-
query
|
124
|
+
query << " #{field} #{operator} ? "
|
128
125
|
end
|
129
126
|
|
130
|
-
records = model.where(query, *search_values)
|
127
|
+
records = model.where(query.join(' OR '), *search_values)
|
131
128
|
end
|
132
129
|
|
133
130
|
end
|
data/lib/rooble/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rooble
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gustavo Rubio
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|