snfoil 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sn_foil/adapters/orms/base_adapter.rb +2 -0
- data/lib/sn_foil/searcher.rb +23 -5
- data/lib/sn_foil/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5029787f4c700bd7cd9e96bab7a1dc4e7b6b026d6ccef0da1bc180c3430b72cf
|
4
|
+
data.tar.gz: d699faeb7386a4d84f04d5df66802c08ee8f788008fa5d4c9331823417c20420
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f42e51e0d446fb0c6eee95dde45ea50da55e41c0a1a610fb95d3145531c2ebdd41be922485d71b5c5747a42e68814526c8a5973a41ed0604b0555e2affd7db80
|
7
|
+
data.tar.gz: 85fd3b571c33e1b48efd189b13c66654bca2e5b847250b11395e0855680150924223a209adc4b46135b18cdb13c9dd4ab62e2839975c0f95cf6f183cefea3d42
|
data/lib/sn_foil/searcher.rb
CHANGED
@@ -7,7 +7,7 @@ module SnFoil
|
|
7
7
|
extend ActiveSupport::Concern
|
8
8
|
|
9
9
|
class_methods do
|
10
|
-
attr_reader :i_model, :i_setup, :i_filters, :i_search_step
|
10
|
+
attr_reader :i_model, :i_setup, :i_filters, :i_search_step, :i_booleans
|
11
11
|
|
12
12
|
def model(klass = nil)
|
13
13
|
@i_model = klass
|
@@ -27,6 +27,11 @@ module SnFoil
|
|
27
27
|
unless: options[:unless]
|
28
28
|
}
|
29
29
|
end
|
30
|
+
|
31
|
+
def booleans(*fields)
|
32
|
+
@i_booleans ||= []
|
33
|
+
@i_booleans |= fields.map(&:to_sym)
|
34
|
+
end
|
30
35
|
end
|
31
36
|
|
32
37
|
def model
|
@@ -55,6 +60,10 @@ module SnFoil
|
|
55
60
|
self.class.i_filters || []
|
56
61
|
end
|
57
62
|
|
63
|
+
def booleans
|
64
|
+
self.class.i_booleans || []
|
65
|
+
end
|
66
|
+
|
58
67
|
private
|
59
68
|
|
60
69
|
def apply_setup(filtered_scope, params)
|
@@ -90,15 +99,24 @@ module SnFoil
|
|
90
99
|
|
91
100
|
def transform_params_booleans(params)
|
92
101
|
params.map do |key, value|
|
93
|
-
value = if
|
94
|
-
|
95
|
-
elsif value == 'false'
|
96
|
-
false
|
102
|
+
value = if booleans.include?(key.to_sym)
|
103
|
+
value_to_boolean(value)
|
97
104
|
else
|
98
105
|
value
|
99
106
|
end
|
100
107
|
[key, value]
|
101
108
|
end.to_h
|
102
109
|
end
|
110
|
+
|
111
|
+
def value_to_boolean(value)
|
112
|
+
string_val = value.to_s
|
113
|
+
if value == true || %w[true 1].include?(string_val)
|
114
|
+
true
|
115
|
+
elsif value == false || %w[false 0].include?(string_val)
|
116
|
+
false
|
117
|
+
else
|
118
|
+
value
|
119
|
+
end
|
120
|
+
end
|
103
121
|
end
|
104
122
|
end
|
data/lib/sn_foil/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snfoil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Howes
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-03-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -197,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
197
|
- !ruby/object:Gem::Version
|
198
198
|
version: '0'
|
199
199
|
requirements: []
|
200
|
-
rubygems_version: 3.
|
200
|
+
rubygems_version: 3.1.4
|
201
201
|
signing_key:
|
202
202
|
specification_version: 4
|
203
203
|
summary: A boilerplate gem for providing basic contexts
|