rooble 0.3.2 → 0.3.3
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/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
|