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