jahuty 3.3.0 → 3.3.1

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: 93d706c72d12cb61d951cc71b8add1ac154ed8b8bc57374e3d558e2b4bd8d420
4
- data.tar.gz: e64a1355073ba942c5aef652032e8268e4d3a065b8cb3f5a7594d590957edc18
3
+ metadata.gz: b7f9dd15bdc516d3e7249bba915822f742642f59c7209f47151b963ba34b53d1
4
+ data.tar.gz: 11bb09b250f358f13d5cafb3a585a1db525ddf988b6fea70dd19c7586a5a77a3
5
5
  SHA512:
6
- metadata.gz: 33d77db35616e1ae68f3b1ad0063e51ccfc526e35f2ef04e07851f506e5103e73af9d0d27252abf817de4ce2664206cf3edd7f9972275b96aaa582c8c38d0a7b
7
- data.tar.gz: b572333f5df0d13b18ecbf29f9d22b06400622cdf9ab5408a6963f21fe154ea0fbb67cee881b3efb89cc7417ef1ef1abcd733b0681f7d72261f8ac357e175bc1
6
+ metadata.gz: 42ee47a4e2e936a10c4e14bee9990db9c170e53e852d257190cf7636d8c27ce6e7f4da04eeb1cf1ea333e00f65ffc7ed1847b0a47ec4c7ea024d067ee9bca196
7
+ data.tar.gz: e1ec48bb180b4f81145f4a6b939bc3a9fe64a792bbb7a513b705b49e61b4ac379dfbc0c38fb12880122282d12816d90c8798ca6b283bb8fce6befe5777eb3174
data/CHANGELOG.md CHANGED
@@ -5,27 +5,33 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## 3.3.0 - 2020-04-29
8
+ ## 3.3.1 - 2021-05-02
9
+
10
+ ### Fixed
11
+
12
+ - Fixed [#19](https://github.com/jahuty/jahuty-ruby/issues/19) where renders were cached without regard for their content version.
13
+
14
+ ## 3.3.0 - 2021-04-29
9
15
 
10
16
  - Add the `prefer_latest` configuration option to the client and render methods. This setting allows you to render a snippet's _latest_ content instead of the default _published_ content.
11
17
 
12
- ## 3.2.1 - 2020-03-16
18
+ ## 3.2.1 - 2021-03-16
13
19
 
14
- * Fix issue with double-enveloping the `params` query string parameter.
15
- * Add system tests for params, caching, problems, and collections.
20
+ - Fix issue with double-enveloping the `params` query string parameter.
21
+ - Add system tests for params, caching, problems, and collections.
16
22
 
17
- ## 3.2.0 - 2020-03-08
23
+ ## 3.2.0 - 2021-03-08
18
24
 
19
- * Added collections to the library with `all_renders` method. This was a rather large change and required adding new objects like `Action::Show`, refactoring old ones like `Resource::Factory`, and removing some objects like `Cache::Manager` and `Service::Factory` which added unnecessary complexity.
20
- * Added `snippet_id` to `Resource::Render` to help keep track of a render's parent snippet.
25
+ - Added collections to the library with `all_renders` method. This was a rather large change and required adding new objects like `Action::Show`, refactoring old ones like `Resource::Factory`, and removing some objects like `Cache::Manager` and `Service::Factory` which added unnecessary complexity.
26
+ - Added `snippet_id` to `Resource::Render` to help keep track of a render's parent snippet.
21
27
 
22
- ## 3.1.1 - 2020-02-26
28
+ ## 3.1.1 - 2021-02-26
23
29
 
24
30
  - Add support for extra, unused attributes returned by the API to support evolution.
25
31
  - Fix the `method redefined` warnings in `cache/manager_spec.rb` and `cache/facade_spec.rb`.
26
32
  - Fix the `expect { }.not_to raise_error(SpecificErrorClass)` false positives warnings in `resource/render_spec.rb`.
27
33
 
28
- ## 3.1.0 - 2020-01-04
34
+ ## 3.1.0 - 2021-01-04
29
35
 
30
36
  - Add caching support for any cache implementation that supports `get/set` or `read/write` methods.
31
37
  - Default to using in-memory [mini-cache](https://github.com/derrickreimer/mini_cache) storage.
@@ -15,13 +15,13 @@ module Jahuty
15
15
  def all_renders(tag, params: {}, expires_in: @expires_in, prefer_latest: @prefer_latest)
16
16
  renders = index_renders tag: tag, params: params, prefer_latest: prefer_latest
17
17
 
18
- cache_renders renders: renders, params: params, expires_in: expires_in
18
+ cache_renders renders: renders, params: params, expires_in: expires_in, latest: prefer_latest
19
19
 
20
20
  renders
21
21
  end
22
22
 
23
23
  def render(snippet_id, params: {}, expires_in: @expires_in, prefer_latest: @prefer_latest)
24
- key = cache_key snippet_id: snippet_id, params: params
24
+ key = cache_key snippet_id: snippet_id, params: params, latest: prefer_latest
25
25
 
26
26
  render = @cache.read(key)
27
27
 
@@ -38,17 +38,16 @@ module Jahuty
38
38
 
39
39
  private
40
40
 
41
- def cache_key(snippet_id:, params: {})
41
+ def cache_key(snippet_id:, params: {}, latest: false)
42
42
  fingerprint = Digest::MD5.new
43
43
  fingerprint << "snippets/#{snippet_id}/render/"
44
44
  fingerprint << params.to_json
45
+ fingerprint << '/latest' if latest
45
46
 
46
47
  "jahuty_#{fingerprint.hexdigest}"
47
48
  end
48
49
 
49
- def cache_renders(renders:, params:, expires_in: nil)
50
- expires_in ||= @expires_in
51
-
50
+ def cache_renders(renders:, params:, expires_in: @expires_in, latest: false)
52
51
  return if renders.nil?
53
52
 
54
53
  return unless cacheable?(expires_in)
@@ -59,7 +58,7 @@ module Jahuty
59
58
  local_params = params[render.snippet_id.to_s] || {}
60
59
  render_params = ::Jahuty::Util.deep_merge global_params, local_params
61
60
 
62
- key = cache_key snippet_id: render.snippet_id, params: render_params
61
+ key = cache_key snippet_id: render.snippet_id, params: render_params, latest: latest
63
62
 
64
63
  @cache.write key, render, expires_in: expires_in
65
64
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Jahuty
4
- VERSION = '3.3.0'
4
+ VERSION = '3.3.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jahuty
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack Clayton
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-29 00:00:00.000000000 Z
11
+ date: 2021-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday