rad_core_rails 0.8.3 → 0.8.8
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/Gemfile +10 -1
- data/lib/rad_core_rails/query_generator.rb +41 -11
- data/lib/rad_core_rails/version.rb +1 -1
- data/rad_core_rails.gemspec +3 -14
- metadata +7 -119
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aee20fb677577f2bdbae21a0a002968a70e0f11c052580713f2538e0321252d4
|
4
|
+
data.tar.gz: fb22e9d2d70617d2b5acc150cda26f662a67b8b58d00dbf264507de870553d3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36809f265234f02255bd581587a4e362f985e7eee3f1bf1e2d0dfcde1c1a90b6d4d9e32f20adb1cbbbd35e8e593b376c02b40fe1aacb7435affad55a54f59392
|
7
|
+
data.tar.gz: '08fea0c02b655b2e8f8ee15453d6bb42afe4e35eaed7461e9d16f06275646a8972e783e92c3290f5652ecd9dac29b7da6d695280280d3bd7237e31100f67554b'
|
data/Gemfile
CHANGED
@@ -5,9 +5,18 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
|
5
5
|
# Specify your gem's dependencies in new_gem.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
+
gem "activesupport", '>= 4.2'
|
9
|
+
gem "activemodel", '>= 4.2'
|
10
|
+
gem "activerecord", '>= 4.2'
|
11
|
+
gem "actionpack", '>= 4.2'
|
12
|
+
gem "bundler", '>= 1.17.3'
|
13
|
+
gem "rake"
|
14
|
+
|
8
15
|
group :test do
|
9
16
|
gem 'byebug'
|
10
17
|
gem 'pg'
|
11
18
|
gem 'database_cleaner-active_record'
|
12
|
-
gem
|
19
|
+
gem 'factory_bot_rails'
|
20
|
+
gem 'rspec-rails'
|
21
|
+
gem 'shoulda-matchers', '>= 4.0'
|
13
22
|
end
|
@@ -178,15 +178,37 @@ module RadCoreRails
|
|
178
178
|
[str, args]
|
179
179
|
end
|
180
180
|
|
181
|
-
def generate_model_clause(column_name, filter, optional_exclusion_clause = nil)
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
181
|
+
def generate_model_clause(column_name, filter, optional_exclusion_clause = nil, optional_blank_clause = nil)
|
182
|
+
if optional_exclusion_clause.present? && filter[:option] == '!='
|
183
|
+
str = optional_exclusion_clause
|
184
|
+
args = [filter[:values]]
|
185
|
+
elsif filter[:option] == '!!'
|
186
|
+
optional_blank_clause ||= "(#{column_name} IS NULL)"
|
187
|
+
str = optional_blank_clause
|
188
|
+
args = []
|
189
|
+
else
|
190
|
+
# probably should fix this.
|
191
|
+
# somtimes we arent sending a filter option, so just default it to =
|
192
|
+
str = "(#{column_name} #{filter[:option] || '='} ANY(ARRAY[?]))"
|
193
|
+
args = [filter[:values]]
|
194
|
+
end
|
195
|
+
|
196
|
+
[str, args]
|
197
|
+
end
|
198
|
+
|
199
|
+
def generate_string_clause(column_name, filter, optional_exclusion_clause = nil)
|
200
|
+
if optional_exclusion_clause.present? && filter[:option] == '!='
|
201
|
+
str = optional_exclusion_clause
|
202
|
+
args = [filter[:values]]
|
203
|
+
elsif filter[:option] == '!!'
|
204
|
+
str = "(#{column_name} IS NULL OR #{column_name} = '')"
|
205
|
+
args = []
|
206
|
+
else
|
207
|
+
# probably should fix this.
|
208
|
+
# somtimes we arent sending a filter option, so just default it to =
|
209
|
+
str = "(LOWER(TRIM(#{column_name})) #{filter[:option] || '='} ANY(ARRAY[?]))"
|
210
|
+
args = [filter[:values].map(&:strip).map(&:downcase)]
|
211
|
+
end
|
190
212
|
|
191
213
|
[str, args]
|
192
214
|
end
|
@@ -263,8 +285,13 @@ module RadCoreRails
|
|
263
285
|
end
|
264
286
|
|
265
287
|
def generate_zip_codes_clause(column_name, filter)
|
266
|
-
|
267
|
-
|
288
|
+
if filter[:option] != '!!'
|
289
|
+
str = "(#{column_name} = ANY(#{zip_code_class.distance_query}))"
|
290
|
+
args = zip_code_class.distance_args(filter)
|
291
|
+
elsif filter[:option] == '!!'
|
292
|
+
str = "(#{column_name} IS NULL OR #{column_name} = '')"
|
293
|
+
args = []
|
294
|
+
end
|
268
295
|
|
269
296
|
[str, args]
|
270
297
|
end
|
@@ -273,6 +300,9 @@ module RadCoreRails
|
|
273
300
|
if filter[:option] == '!='
|
274
301
|
str = "(SELECT NOT(#{column_name}::text[] && ARRAY[?]::text[]))"
|
275
302
|
args = [filter[:values]]
|
303
|
+
elsif filter[:option] == '!!'
|
304
|
+
str = "(#{column_name}::text[] = '{}')"
|
305
|
+
args = []
|
276
306
|
else
|
277
307
|
str = "(SELECT (#{column_name}::text[] && ARRAY[?]::text[]))"
|
278
308
|
args = [filter[:values]]
|
data/rad_core_rails.gemspec
CHANGED
@@ -27,18 +27,7 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
-
|
31
|
-
spec.add_dependency "
|
32
|
-
spec.add_dependency "
|
33
|
-
spec.add_dependency "activerecord", '>= 4.2'
|
34
|
-
|
35
|
-
spec.add_development_dependency "actionpack", '>= 4.2'
|
36
|
-
spec.add_development_dependency "bundler", '>= 1.17.3'
|
37
|
-
spec.add_development_dependency "rake"
|
38
|
-
spec.add_development_dependency "rspec-rails"
|
39
|
-
spec.add_development_dependency "factory_bot_rails"
|
40
|
-
spec.add_development_dependency "shoulda-matchers", '>= 4.0'
|
41
|
-
spec.add_development_dependency 'pg', '>= 0.19'
|
42
|
-
spec.add_development_dependency 'railties', '>= 5'
|
43
|
-
# spec.add_development_dependency "simplecov", '~> 0.17', '>= 0.18.5'
|
30
|
+
spec.add_dependency "activesupport"
|
31
|
+
spec.add_dependency "activemodel"
|
32
|
+
spec.add_dependency "activerecord"
|
44
33
|
end
|
metadata
CHANGED
@@ -1,93 +1,23 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rad_core_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.8
|
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-
|
11
|
+
date: 2021-04-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '4.2'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '4.2'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: activemodel
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '4.2'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '4.2'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: activerecord
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '4.2'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '4.2'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: actionpack
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '4.2'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '4.2'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: bundler
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 1.17.3
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.17.3
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rake
|
85
15
|
requirement: !ruby/object:Gem::Requirement
|
86
16
|
requirements:
|
87
17
|
- - ">="
|
88
18
|
- !ruby/object:Gem::Version
|
89
19
|
version: '0'
|
90
|
-
type: :
|
20
|
+
type: :runtime
|
91
21
|
prerelease: false
|
92
22
|
version_requirements: !ruby/object:Gem::Requirement
|
93
23
|
requirements:
|
@@ -95,13 +25,13 @@ dependencies:
|
|
95
25
|
- !ruby/object:Gem::Version
|
96
26
|
version: '0'
|
97
27
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
28
|
+
name: activemodel
|
99
29
|
requirement: !ruby/object:Gem::Requirement
|
100
30
|
requirements:
|
101
31
|
- - ">="
|
102
32
|
- !ruby/object:Gem::Version
|
103
33
|
version: '0'
|
104
|
-
type: :
|
34
|
+
type: :runtime
|
105
35
|
prerelease: false
|
106
36
|
version_requirements: !ruby/object:Gem::Requirement
|
107
37
|
requirements:
|
@@ -109,61 +39,19 @@ dependencies:
|
|
109
39
|
- !ruby/object:Gem::Version
|
110
40
|
version: '0'
|
111
41
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
42
|
+
name: activerecord
|
113
43
|
requirement: !ruby/object:Gem::Requirement
|
114
44
|
requirements:
|
115
45
|
- - ">="
|
116
46
|
- !ruby/object:Gem::Version
|
117
47
|
version: '0'
|
118
|
-
type: :
|
48
|
+
type: :runtime
|
119
49
|
prerelease: false
|
120
50
|
version_requirements: !ruby/object:Gem::Requirement
|
121
51
|
requirements:
|
122
52
|
- - ">="
|
123
53
|
- !ruby/object:Gem::Version
|
124
54
|
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: shoulda-matchers
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '4.0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '4.0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: pg
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0.19'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0.19'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: railties
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '5'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '5'
|
167
55
|
description: RadCoreRails lib
|
168
56
|
email:
|
169
57
|
- sancho.ck@gmail.com
|