Class: GraphQL::PersistedQueries::StoreAdapters::BaseStoreAdapter

Inherits:
Object
  • Object
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

#initialize(**_options) ⇒ BaseStoreAdapter

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 (writeonly)

Sets the attribute tracers

Parameters:

  • value

    the value to set the attribute tracers to.



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_query(hash, compiled_query: false) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 15

def fetch_query(hash, 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_query(hash, query, compiled_query: false) ⇒ Object



24
25
26
27
# File 'lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb', line 24

def save_query(hash, query, compiled_query: false)
  key = build_key(hash, compiled_query)
  trace("save_query", adapter: @name) { save(key, query) }
end