Sha256: 5bd914923dfa06f6db0e54c0cbe8b7dc096164f11141a009d6f9155be607a2e9

Contents?: true

Size: 807 Bytes

Versions: 3

Compression:

Stored size: 807 Bytes

Contents

module Pakyow
  module UI
    # Stores mutations that have occurred in the configured registry.
    #
    # @api private
    class MutationStore
      include Singleton

      def initialize
        @registry = Config.ui.registry.instance
      end

      def register(mutate_context, mutable_data, qualifications)
        # TODO: decide how we'll clean these up as clients disconnect
        @registry.register(
          mutable_data.scope,
          mutation: mutate_context.mutation[:name],
          qualifiers: mutate_context.mutation[:qualifiers],
          qualifications: qualifications,
          query_name: mutable_data.query_name,
          query_args: mutable_data.query_args
        )
      end

      def mutations(scope)
        @registry.mutations(scope) || []
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pakyow-ui-0.10.2 pakyow-ui/lib/pakyow-ui/mutation_store.rb
pakyow-ui-0.10.1 pakyow-ui/lib/pakyow-ui/mutation_store.rb
pakyow-ui-0.10.0 pakyow-ui/lib/pakyow-ui/mutation_store.rb