url_params_manager 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf37bee0652052fef68a8af38060681bbb126918
4
- data.tar.gz: 7324ae64c1d098a22f95f0cd036eeabccf1cf694
3
+ metadata.gz: 3d2fd9f24eb02adc69e61c80d542b1c833ba3c15
4
+ data.tar.gz: fb4c94f651c2cf2700d85d9b60c83be05dd1c4bb
5
5
  SHA512:
6
- metadata.gz: d5cfbb60aef90c0f51730ce0a00b2f7ec4fb5542930ab1158abb235e04e5e2294a870cddbae126f016bafef55c7614f4f9c43646ee9a2a2fc22573977b156938
7
- data.tar.gz: 7928e4654ce2ef213de734269972a6ae87d09a9d5c6a70af1d04e3056c564068dc75ae1cd867a31c42cc38e3ef3f266e0ae0838386d16eb61dc1837054fe3ad1
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.
@@ -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: ->(filter_params) { filter_params }
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
- DEFAULT_FILTER_PARAMS_TREATMENT = ->(filter_params) { filter_params }
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
- filter_params_treatment: DEFAULT_FILTER_PARAMS_TREATMENT
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(params)
43
- params = params.to_h.symbolize_keys
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)
@@ -1,3 +1,3 @@
1
1
  module UrlParamsManager
2
- VERSION = '0.4.0'
2
+ VERSION = '0.5.0'
3
3
  end
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.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-20 00:00:00.000000000 Z
12
+ date: 2015-11-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport