Sha256: 36272e91c76a0dfdf2fffe1a49409b0a46d116198a89869f5276fba98119f911

Contents?: true

Size: 615 Bytes

Versions: 6

Compression:

Stored size: 615 Bytes

Contents

module GraphQL
  module Sugar
    module Define
      module Mutator
        def self.call(type_defn, field_name, type_or_field = nil, desc = nil, **kwargs, &block) # rubocop:disable Metrics/ParameterLists
          # Automatically determine function
          function_class = Sugar.get_mutator_function(field_name)
          kwargs[:function] ||= function_class.new
          kwargs[:resolve] ||= ->(obj, args, ctx) { function_class.new.call(obj, args, ctx) }

          GraphQL::Define::AssignObjectField.call(type_defn, field_name, type_or_field, desc, **kwargs, &block)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
graphql-sugar-0.1.6 lib/graphql/sugar/define/mutator.rb
graphql-sugar-0.1.5 lib/graphql/sugar/define/mutator.rb
graphql-sugar-0.1.4 lib/graphql/sugar/define/mutator.rb
graphql-sugar-0.1.3 lib/graphql/sugar/define/mutator.rb
graphql-sugar-0.1.2 lib/graphql/sugar/define/mutator.rb
graphql-sugar-0.1.1 lib/graphql/sugar/define/mutator.rb