rad_core_rails 0.8.4 → 0.8.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
  SHA256:
3
- metadata.gz: 82f95dfd6c84c8aa3594f89b742563c9d2d07c0637ae18432acabd352c6ff088
4
- data.tar.gz: bf435325dc6b733c186167a643c07330d10da47fa165328b14465109986af93e
3
+ metadata.gz: 94385bc06e9963131ae34f6bb60e292d1d17843e33ec172d6b77208d62a8fd42
4
+ data.tar.gz: e7633994fc346ba6a735201173be955121b5d53b9147eefb433ae99864e5fc6f
5
5
  SHA512:
6
- metadata.gz: 5e47b6b0a09ff8f6b77c8b97b59664e8b03180e1f1ed461b6a37eef2a0bd59431195055c33e565c2244c0ffa56708dfd186b35dcc2c9f3ccfbb5acfa66a39f1c
7
- data.tar.gz: 2205ff6ff6494d0f770b69f896b26e5075c23da826ca964f2edafd2dba7f3cee7f0add929538ec755fc65f44e10142847ba269223c1acae2f9f4c7637fcaec83
6
+ metadata.gz: 8dde266785258fbd7c1f94c9c40769498693f06ba0a4bff7a6787d5e9b6c8cf7ac4986277ea6bd22ecff9079708584473fbf47078a3215c3eb6e469a3ed88cfa
7
+ data.tar.gz: adb7160fc0842d87a3653583134678e407c4364f72d400045a19621a8eb2bd584be5079f2e43fd176846b5dd3e248ccf9ba90ff36be1dec9adc28ac9f2440cfb
@@ -195,6 +195,23 @@ module RadCoreRails
195
195
  [str, args]
196
196
  end
197
197
 
198
+ def generate_string_clause(column_name, filter, optional_exclusion_clause = nil)
199
+ if optional_exclusion_clause.present? && filter[:option] == '!='
200
+ str = optional_exclusion_clause
201
+ args = [filter[:values]]
202
+ elsif filter[:option] == '!!'
203
+ str = "(#{column_name} IS NULL OR #{column_name} = '')"
204
+ args = []
205
+ else
206
+ # probably should fix this.
207
+ # somtimes we arent sending a filter option, so just default it to =
208
+ str = "(#{column_name} #{filter[:option] || '='} ANY(ARRAY[?]))"
209
+ args = [filter[:values]]
210
+ end
211
+
212
+ [str, args]
213
+ end
214
+
198
215
  def sanitize_vector_string(search)
199
216
  phrases_or = search.scan(/\+"([^"]*)"/) # e.g. +"Phrase for OR"
200
217
  # remove 'or' phrases from search if any
@@ -277,6 +294,9 @@ module RadCoreRails
277
294
  if filter[:option] == '!='
278
295
  str = "(SELECT NOT(#{column_name}::text[] && ARRAY[?]::text[]))"
279
296
  args = [filter[:values]]
297
+ elsif filter[:option] == '!!'
298
+ str = "(#{column_name}::text[] = '{}')"
299
+ args = []
280
300
  else
281
301
  str = "(SELECT (#{column_name}::text[] && ARRAY[?]::text[]))"
282
302
  args = [filter[:values]]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RadCoreRails
4
- VERSION = '0.8.4'
4
+ VERSION = '0.8.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rad_core_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.4
4
+ version: 0.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleksandr Poltavets, James Marrs
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-24 00:00:00.000000000 Z
11
+ date: 2021-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport