class GraphQL::PersistedQueries::StoreAdapters::BaseStoreAdapter
Base class for all store adapters
Attributes
tracers[W]
Public Class Methods
new(**_options)
click to toggle source
# File lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb, line 11 def initialize(**_options) @name = :base end
Public Instance Methods
fetch_query(hash, compiled_query: false)
click to toggle source
# 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)
click to toggle source
# 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
Protected Instance Methods
fetch(_hash)
click to toggle source
# File lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb, line 31 def fetch(_hash) raise NotImplementedError end
save(_hash, _query)
click to toggle source
# File lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb, line 35 def save(_hash, _query) raise NotImplementedError end
trace(key, metadata) { || ... }
click to toggle source
Calls superclass method
# File lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb, line 39 def trace(key, metadata) if @tracers key = "persisted_queries.#{key}" block_given? ? super : super {} elsif block_given? yield end end
Private Instance Methods
build_key(hash, compiled_query)
click to toggle source
# File lib/graphql/persisted_queries/store_adapters/base_store_adapter.rb, line 50 def build_key(hash, compiled_query) key = "#{RUBY_ENGINE}-#{RUBY_VERSION}:#{GraphQL::VERSION}:#{hash}" compiled_query ? "compiled:#{key}" : key end