graphql-fragment_cache 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f11f53d4ee61fae49c514e17afe6eca9711c78578e7573ad79626cb222c2bdcf
4
- data.tar.gz: 2022a81f41d7318f74255c42a86ce022acee957f4ad60324d4f6638e0bc97044
3
+ metadata.gz: ffa22ed6490a1efa77f81da6e01cdd20571c3aaa98519a57a5a044f2b59705ee
4
+ data.tar.gz: 706e6f986c677db40e405cc8b01896455053393e65fb379526e0badec98064b3
5
5
  SHA512:
6
- metadata.gz: 3a5772dc50d5e9bf398c42f7c50bb58fe565b6897a59a7488a289e5dbc0f594897dfb4af05f611770bdc9dd2693c1c78b3ae5a4e7e183df9c2ef076f321a1e9c
7
- data.tar.gz: 2570227cfeef325af92d6e32df92624d5c11c2b04f0cc9f964d72641c61e0a9ddaf3add4dec3260d98707096ec0ec00aecaba01b66137e35d44f66659c2323cb
6
+ metadata.gz: c9084bf776fcc30b7abd1cac05faf292cba75cf176a85844b2d9b1f40c66bec92758b1a0001d9369b24de4d11712be686381a7ee2ed54f90eb5a52ac9c0e2b4b
7
+ data.tar.gz: f81a77a2da2c8a8aab192f19947d3f483ff89fe9e4575a319b8324e6a2ac3ed12499d1ca51852ca95137d363452f33ca7241482698cfa4e84ad7bcb11dfcfc32
@@ -2,6 +2,11 @@
2
2
 
3
3
  ## master
4
4
 
5
+ ## 0.1.2 (2020-04-24)
6
+
7
+ - [PR#16](https://github.com/DmitryTsepelev/graphql-ruby-fragment_cache/pull/16) Railtie turns off caching in test environment ([@DmitryTsepelev][])
8
+ - [PR#15](https://github.com/DmitryTsepelev/graphql-ruby-fragment_cache/pull/15) Avoid extra resolving when resolved_value is not used for building cache key ([@DmitryTsepelev][])
9
+
5
10
  ## 0.1.1 (2020-04-15)
6
11
 
7
12
  - Fix using passed object as a cache key ([@palkan][])
@@ -34,20 +34,24 @@ module GraphQL
34
34
  @cache_key = @cache_options.delete(:cache_key)
35
35
  end
36
36
 
37
+ NOT_RESOLVED = Object.new
38
+
37
39
  def resolve(object:, arguments:, **_options)
38
- resolved_value = yield(object, arguments)
40
+ resolved_value = NOT_RESOLVED
39
41
 
40
42
  object_for_key = if @context_key
41
43
  Array(@context_key).map { |key| object.context[key] }
42
44
  elsif @cache_key == :object
43
45
  object.object
44
46
  elsif @cache_key == :value
45
- resolved_value
47
+ resolved_value = yield(object, arguments)
46
48
  end
47
49
 
48
50
  cache_fragment_options = @cache_options.merge(object: object_for_key)
49
51
 
50
- object.cache_fragment(cache_fragment_options) { resolved_value }
52
+ object.cache_fragment(cache_fragment_options) do
53
+ resolved_value == NOT_RESOLVED ? yield(object, arguments) : resolved_value
54
+ end
51
55
  end
52
56
  end
53
57
  end
@@ -23,6 +23,10 @@ module GraphQL
23
23
  end
24
24
 
25
25
  config.graphql_fragment_cache = Config
26
+
27
+ if ENV["RACK_ENV"] == "test" || ENV["RAILS_ENV"] == "test"
28
+ ::Rails.application.config.graphql_fragment_cache.store = :null_store
29
+ end
26
30
  end
27
31
  end
28
32
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module GraphQL
4
4
  module FragmentCache
5
- VERSION = "0.1.1"
5
+ VERSION = "0.1.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graphql-fragment_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - DmitryTsepelev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-15 00:00:00.000000000 Z
11
+ date: 2020-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: graphql
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: '0.5'
103
+ version: '0.6'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: '0.5'
110
+ version: '0.6'
111
111
  description: Fragment cache for graphql-ruby
112
112
  email:
113
113
  - dmitry.a.tsepelev@gmail.com