Sha256: 7b95d3531f016e11c8af78732d9ea759c6a1da133086940e2d7b2e95e03db528

Contents?: true

Size: 834 Bytes

Versions: 46

Compression:

Stored size: 834 Bytes

Contents

# frozen_string_literal: true

module GraphQL
  class Schema
    class Member
      # Adds a layer of caching over user-supplied `.to_graphql` methods.
      # Users override `.to_graphql`, but all runtime code should use `.graphql_definition`.
      # @api private
      # @see concrete classes that extend this, eg {Schema::Object}
      module CachedGraphQLDefinition
        # A cached result of {.to_graphql}.
        # It's cached here so that user-overridden {.to_graphql} implementations
        # are also cached
        def graphql_definition
          @graphql_definition ||= to_graphql
        end

        # Wipe out the cached graphql_definition so that `.to_graphql` will be called again.
        def initialize_copy(original)
          super
          @graphql_definition = nil
        end
      end
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
graphql-1.8.18 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.21 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.20 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.19 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.18 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.17 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.16 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.15 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.14 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.13 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.12 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.11 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.10 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.9 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.8 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.7 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.6 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.5 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.4 lib/graphql/schema/member/cached_graphql_definition.rb
graphql-1.9.3 lib/graphql/schema/member/cached_graphql_definition.rb