rad_core_rails 0.9.0 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dae4ae340b06a1da96202cc5dce7e727a3907edc48841586a125db38e427e8c8
4
- data.tar.gz: 622d9c87e97ff694d590b3dd9002afbe2e83ac0931e86e71a3165be2b7a8348b
3
+ metadata.gz: 8d0dc43295dda40c1ac95be85803c9a2272eb31eca835df51e823862a58b3fb9
4
+ data.tar.gz: c8b0ce17d1612acb98a714f9b0caee76f5b9f81bd4cae018991b0dd2a7a69f70
5
5
  SHA512:
6
- metadata.gz: 1975e49d1eb90781389bff974d63b0ae0ca948a88ea427258e34dd401b34bf922999f10fb3f0ac5ba5bb96ec5b1bbe03cad4601dc0252b3ea129f16cc39c451b
7
- data.tar.gz: 8a69180847d8c03ecd95fe3c941d4d04d29bc5416638cf9752cdd7154c84e9e9325f1aa1e0fe46f4d3863028b13133ccdbd470cdc8fdb94fe493b8705e5978f7
6
+ metadata.gz: 6935eb8ed311670806c281cb93a2382c35f419b4cc65a6b4d7c78efa358ca78b3ba10de058c2074e62caa60d3568669c0655d1458e4d51210decda550ac67622
7
+ data.tar.gz: 38e156a6136accc13554513063b07453e9d24f83863b0ccde0a468c1740473f20560362bf05b5d761e86a7b6ea7c6416118c35b32c3d349821c4ed23a49ea7ec
data/Gemfile CHANGED
@@ -15,6 +15,7 @@ gem "rake"
15
15
  group :test do
16
16
  gem 'byebug'
17
17
  gem 'pg'
18
+ gem 'database_cleaner'
18
19
  gem 'database_cleaner-active_record'
19
20
  gem 'factory_bot_rails'
20
21
  gem 'rspec-rails'
@@ -281,8 +281,8 @@ module RadCoreRails
281
281
 
282
282
  vector_string = sanitize_vector_string(filter[:values][0], weight)
283
283
 
284
- query = "(#{column_name} @@ to_tsquery('simple', ?))"
285
- [query, [vector_string]]
284
+ query = "(#{column_name} @@ to_tsquery('simple', ?) OR #{column_name} @@ to_tsquery('english', ?))"
285
+ [query, [vector_string, vector_string]]
286
286
  end
287
287
 
288
288
  def generate_zip_codes_clause(column_name, filter)
@@ -357,19 +357,13 @@ module RadCoreRails
357
357
  args = []
358
358
 
359
359
  case option
360
- when '='
361
- str = "#{column_name}::date = ?::date"
362
- args << values[0]
363
- when '>'
364
- str = "#{column_name}::date > ?::date"
365
- args << values[0]
366
- when '<'
367
- str = "#{column_name}::date < ?::date"
368
- args << values[0]
369
360
  when '..'
370
361
  str = "(#{column_name}::date BETWEEN ?::date AND ?::date)"
371
362
  args << values[0]
372
363
  args << values[1]
364
+ else
365
+ str = "#{column_name}::date #{option} ?::date"
366
+ args << values[0]
373
367
  end
374
368
  [str, args]
375
369
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RadCoreRails
4
- VERSION = '0.9.0'
4
+ VERSION = '0.9.3'
5
5
  end
@@ -28,17 +28,23 @@ module RadCoreRails
28
28
  # Query for returning an array of zip codes around the zip-code sent to this function with a given radius in miles.
29
29
  def distance_query
30
30
  <<-SQL
31
- WITH t AS (SELECT
32
- zip, (
33
- 3959 * acos (
34
- cos(RADIANS((#{lat_sub_query})))
35
- * cos(RADIANS(zip_codes.latitude))
36
- * cos(RADIANS(zip_codes.longitude) - RADIANS((#{lng_sub_query})))
37
- + sin(RADIANS((#{lat_sub_query})))
38
- * sin(RADIANS(zip_codes.latitude))
39
- )
40
- ) AS distance
41
- FROM zip_codes) SELECT t.zip FROM t WHERE t.distance < ?
31
+ WITH t AS (SELECT
32
+ zip, (
33
+ 3959 * ACOS (
34
+ LEAST(
35
+ GREATEST(
36
+ (
37
+ COS(RADIANS((#{lat_sub_query})))
38
+ * COS(RADIANS(zip_codes.latitude))
39
+ * COS(RADIANS(zip_codes.longitude) - RADIANS((#{lng_sub_query})))
40
+ + SIN(RADIANS((#{lat_sub_query})))
41
+ * SIN(RADIANS(zip_codes.latitude))
42
+ ), -1
43
+ ), 1
44
+ )
45
+ )
46
+ ) AS distance
47
+ FROM zip_codes) SELECT t.zip FROM t WHERE t.distance < ?
42
48
  SQL
43
49
  end
44
50
 
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.9.0
4
+ version: 0.9.3
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-06-09 00:00:00.000000000 Z
11
+ date: 2022-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport