Class: GraphQL::Relay::Mutation::MutationResolve
- Inherits:
-
Object
- Object
- GraphQL::Relay::Mutation::MutationResolve
- Defined in:
- lib/graphql/relay/mutation.rb
Instance Method Summary collapse
- #call(obj, args, ctx) ⇒ Object
-
#initialize(mutation, resolve, wrap_result:) ⇒ MutationResolve
constructor
A new instance of MutationResolve.
Constructor Details
#initialize(mutation, resolve, wrap_result:) ⇒ MutationResolve
Returns a new instance of MutationResolve.
170 171 172 173 174 |
# File 'lib/graphql/relay/mutation.rb', line 170 def initialize(mutation, resolve, wrap_result:) @mutation = mutation @resolve = resolve @wrap_result = wrap_result end |
Instance Method Details
#call(obj, args, ctx) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/graphql/relay/mutation.rb', line 176 def call(obj, args, ctx) mutation_result = @resolve.call(obj, args[:input], ctx) if mutation_result.is_a?(GraphQL::ExecutionError) ctx.add_error(mutation_result) mutation_result = nil end if @wrap_result @mutation.result_class.new(client_mutation_id: args[:input][:clientMutationId], result: mutation_result) else mutation_result end end |