graphql-fragment_cache 0.1.1 → 0.1.2

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: 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