Class: GraphQL::PersistedQueries::StoreAdapters::BaseStoreAdapter
- Inherits:
-
Object
- Object
- GraphQL::PersistedQueries::StoreAdapters::BaseStoreAdapter
show all
- Includes:
- Tracing::Traceable
- Defined in:
- lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb
Overview
Base class for all store adapters
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of BaseStoreAdapter.
11
12
13
|
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 11
def initialize(**_options)
@name = :base
end
|
Instance Attribute Details
#tracers=(value) ⇒ Object
Sets the attribute tracers
9
10
11
|
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 9
def tracers=(value)
@tracers = value
end
|
Instance Method Details
#fetch(_hash) ⇒ Object
30
31
32
|
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 30
def fetch(_hash)
raise NotImplementedError
end
|
#fetch_query(hash, options = {}) ⇒ Object
15
16
17
18
19
20
21
22
23
|
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 15
def fetch_query(hash, options = {})
compiled_query = options[:compiled_query] || false
key = build_key(hash, compiled_query)
fetch(key).tap do |result|
event = result ? "cache_hit" : "cache_miss"
trace("fetch_query.#{event}", adapter: @name)
end
end
|
#save(_hash, _query) ⇒ Object
34
35
36
|
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 34
def save(_hash, _query)
raise NotImplementedError
end
|
#save_query(hash, query, compiled_query: false) ⇒ Object
25
26
27
28
|
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 25
def save_query(hash, query, compiled_query: false)
key = build_key(hash, compiled_query)
trace("save_query", adapter: @name) { save(key, query) }
end
|
#trace(key, metadata) ⇒ Object
38
39
40
41
42
43
44
45
|
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 38
def trace(key, metadata)
if @tracers
key = "persisted_queries.#{key}"
block_given? ? super : super {}
elsif block_given?
yield
end
end
|