rooble 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rooble.rb +9 -12
  3. data/lib/rooble/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 40e44e737c4f30d4dc8aa00ca5321a64dfb4e3c0
4
- data.tar.gz: ae20c6f07893a26981e3fa5cfb020e6b1f6941d3
3
+ metadata.gz: 28a21415ee2a634a1680dedba3f794c6ae4a1014
4
+ data.tar.gz: 6c8cdacaa4ae3183d41b176867bdfd2fbc92f74f
5
5
  SHA512:
6
- metadata.gz: 7887f557a7d2d2aac81cb16c177fc7a9a6f69d328f08daeb63ed91e936996290d7ef76eff74d5482a3323580dc2dc38ee607385ec9aac315d3f549ef4115015d
7
- data.tar.gz: a19a5e91bc6263ae4307466298865dc0a7171129309378fa54c326a59e9abc9c8c245b689bffd3c3d5f408b660be07d079e257c022cb7a6c57b7c1990d61a605
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
- # downcase the search term if we are doing case insensitive search so
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 += " #{or_cond} #{field} #{operator} ? "
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
@@ -1,3 +1,3 @@
1
1
  module Rooble
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
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.2
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-06 00:00:00.000000000 Z
11
+ date: 2016-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport