url_params_manager 0.4.0 → 0.5.0
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/README.md +14 -5
- data/lib/url_params_manager.rb +3 -1
- data/lib/url_params_manager/service.rb +7 -5
- data/lib/url_params_manager/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d2fd9f24eb02adc69e61c80d542b1c833ba3c15
|
4
|
+
data.tar.gz: fb4c94f651c2cf2700d85d9b60c83be05dd1c4bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f87befa22054f408155f9ef04fb248a528f68c6bc12f0ad79d405f1a165a5ec3d574ef8e6ba1aeaabfcaaff6ad5e3cc03d1cd910d09e8e26d4eb9be0b85e080
|
7
|
+
data.tar.gz: 75d4f2a1d6dc80cb4f4936b691560a7640da24eec5f31ac18c59f12a736f67768fc4295cd000abe53bfc8e8faab4bc1cc94f7e9ef7fc1da6b016338f5ce0c046
|
data/README.md
CHANGED
@@ -108,6 +108,10 @@ default_params = {
|
|
108
108
|
The `filter_params` will be passed to that callable object before returning on `filters_from_url_params` calls
|
109
109
|
as well as at the beginning of `url_args_from_filters` calls.
|
110
110
|
|
111
|
+
### `filter_params_pretreatment`
|
112
|
+
|
113
|
+
same as `filter_params_treatment` but it's applied to the url_params at the beginning of `filters_from_url_params` calls only, right after symbolizing the keys.
|
114
|
+
|
111
115
|
### `always_lists_fields`
|
112
116
|
|
113
117
|
`UrlParamsManager` object can receive a `always_lists_fields` option with:
|
@@ -288,15 +292,20 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
288
292
|
|
289
293
|
## Changeset
|
290
294
|
|
295
|
+
### v.0.5.0
|
296
|
+
|
297
|
+
- added `filter_params_pretreatment` option.
|
298
|
+
|
299
|
+
### v.0.4.0
|
300
|
+
- fixed typo in `position_defined_url_params` (it was position_defined_url_parms)
|
301
|
+
- added `always_lists_fields` option.
|
302
|
+
|
291
303
|
### v.0.2.0
|
292
304
|
|
293
305
|
- added `filter_params_treatment` option.
|
294
306
|
|
307
|
+
## Yanked Versions
|
308
|
+
|
295
309
|
### v.0.3.0: YANKED!
|
296
310
|
|
297
311
|
- added `position_defined_url_params` option.
|
298
|
-
|
299
|
-
|
300
|
-
### v.0.4.0
|
301
|
-
- fixed typo in `position_defined_url_params` (it was position_defined_url_parms)
|
302
|
-
- added `always_lists_fields` option.
|
data/lib/url_params_manager.rb
CHANGED
@@ -10,13 +10,15 @@ module UrlParamsManager
|
|
10
10
|
default_params: {},
|
11
11
|
always_lists_fields: {},
|
12
12
|
position_defined_url_params: nil,
|
13
|
-
filter_params_treatment:
|
13
|
+
filter_params_treatment: UrlParamsManager::Service::UNITY_FUNCTION,
|
14
|
+
filter_params_pretreatment: UrlParamsManager::Service::UNITY_FUNCTION
|
14
15
|
)
|
15
16
|
Service.new url_to_filter_params: url_to_filter_params,
|
16
17
|
indexed_url_params_order: indexed_url_params_order,
|
17
18
|
app_url_helpers: app_url_helpers,
|
18
19
|
default_params: default_params,
|
19
20
|
filter_params_treatment: filter_params_treatment,
|
21
|
+
filter_params_pretreatment: filter_params_pretreatment,
|
20
22
|
position_defined_url_params: position_defined_url_params,
|
21
23
|
always_lists_fields: always_lists_fields
|
22
24
|
|
@@ -4,7 +4,7 @@ module UrlParamsManager
|
|
4
4
|
PREFIX_SEPARATOR = '-'.freeze
|
5
5
|
DEFAULT_PLACEHOLDER = '_'.freeze
|
6
6
|
DEFAULT_MULTIPLE_SEPARATOR_FOR_POSITION = '--'.freeze
|
7
|
-
|
7
|
+
UNITY_FUNCTION = ->(filter_params) { filter_params }
|
8
8
|
|
9
9
|
attr_reader :app_url_helpers,
|
10
10
|
:url_to_filter_params,
|
@@ -13,6 +13,7 @@ module UrlParamsManager
|
|
13
13
|
:default_params,
|
14
14
|
:position_defined_url_params,
|
15
15
|
:filter_params_treatment,
|
16
|
+
:filter_params_pretreatment,
|
16
17
|
:always_lists_fields
|
17
18
|
|
18
19
|
def initialize(url_to_filter_params: nil,
|
@@ -21,7 +22,8 @@ module UrlParamsManager
|
|
21
22
|
default_params: {},
|
22
23
|
always_lists_fields: {},
|
23
24
|
position_defined_url_params: nil,
|
24
|
-
|
25
|
+
filter_params_pretreatment: UNITY_FUNCTION,
|
26
|
+
filter_params_treatment: UNITY_FUNCTION
|
25
27
|
)
|
26
28
|
@url_to_filter_params = url_to_filter_params
|
27
29
|
@filter_to_url_params = url_to_filter_params.invert
|
@@ -30,6 +32,7 @@ module UrlParamsManager
|
|
30
32
|
@default_params = default_params
|
31
33
|
@position_defined_url_params = position_defined_url_params.presence || {}
|
32
34
|
@filter_params_treatment = filter_params_treatment
|
35
|
+
@filter_params_pretreatment = filter_params_pretreatment
|
33
36
|
@always_lists_fields = prepare_always_lists_fields(always_lists_fields)
|
34
37
|
end
|
35
38
|
|
@@ -39,9 +42,8 @@ module UrlParamsManager
|
|
39
42
|
end
|
40
43
|
|
41
44
|
# for filters from url/path params
|
42
|
-
def filters_from_url_params(
|
43
|
-
params
|
44
|
-
|
45
|
+
def filters_from_url_params(given_params)
|
46
|
+
params = filter_params_pretreatment.call given_params.to_h.symbolize_keys
|
45
47
|
filters = unfold_filters(params)
|
46
48
|
|
47
49
|
pars = filters.merge querystring_to_filters(params)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: url_params_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo Turiño
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-11-
|
12
|
+
date: 2015-11-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|