grape-listing 1.1.12 → 1.2.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
  SHA256:
3
- metadata.gz: 24a7834408559f2cc73e927ca47c35f730af49d805d8a767d83164e84d146db5
4
- data.tar.gz: 811060c96285d52836599db7dfccf428bb0ccb94d47b46d7bc01ed4c0b6b13a3
3
+ metadata.gz: bb778ae3f53f8f3703261e1eb87f7c35ff443841630966a81ce6d30a85927101
4
+ data.tar.gz: a20c1c499e21021c1b4947f7e4cc2a44bb966ee498d3231503dcedb6e378a1bd
5
5
  SHA512:
6
- metadata.gz: 71bb4d98aa0ef81e199a9b4d366d2f77afa9acf3d13f76365a216a82e158a33d98d0ee899ca52c3cccf753196ab05fd4bce288ab9147460476863d58bc7b03e7
7
- data.tar.gz: 6027a2a7b170b43b352df18608556b62ccfd2492775c28d58a84d5fa09b219c28964d41f35e62757120873bb8f21677a5a07640e64875e31f42be3a1d3eee2bf
6
+ metadata.gz: '084ce80e719db7ea9e9f0d583f47777e0ec830f490b209f989aa2ff9ac23ea7827dd5a0e077f89fdb10192f2978fbbbafef037ee806a2808ae30eff62f5f648c'
7
+ data.tar.gz: 34ceba64869852554488007521cb94fc171180b28e2da1aaea6f0cb0febafe5a2a87a47d05c8aa4958ee44b42f2f584d0e547585ee2820bd13e4104c6ff18839
@@ -46,9 +46,20 @@ module GrapeListing
46
46
  end
47
47
 
48
48
  def caching_entity_representation(record)
49
- key = "#{@grape_entity}:#{record.id}"
49
+ # формирование ключа кеширования с параметрами
50
+ params_string = Rack::Utils.build_query(@params.except('offset', 'page'))
51
+ key = "#{@grape_entity}:#{record.id}:#{params_string}"
52
+ enc_key = Digest::MD5.hexdigest(key)
50
53
 
51
- GrapeListing.cache.fetch(key) do
54
+ # опции кеширования
55
+ opts =
56
+ if @caching.is_a?(ActiveSupport::Duration)
57
+ { expires_in: @caching }
58
+ else
59
+ {}
60
+ end
61
+
62
+ GrapeListing.cache.fetch(enc_key, opts) do
52
63
  @grape_entity.represent(record, @entity_opts).as_json
53
64
  end
54
65
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape-listing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.12
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Павел Бабин
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-04 00:00:00.000000000 Z
11
+ date: 2024-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack