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.
223 224 225 226 227 |
# File 'lib/graphql/relay/mutation.rb', line 223 def initialize(mutation, resolve, wrap_result:) @mutation = mutation @resolve = resolve @wrap_result = wrap_result end |
Instance Method Details
#call(obj, args, ctx) ⇒ Object
229 230 231 232 233 234 235 236 237 238 239 |
# File 'lib/graphql/relay/mutation.rb', line 229 def call(obj, args, ctx) mutation_result = @resolve.call(obj, args[:input], ctx) if ctx.schema.lazy?(mutation_result) @mutation.field.prepare_lazy(mutation_result, args, ctx).then { |inner_obj| build_result(inner_obj, args, ctx) } else build_result(mutation_result, args, ctx) end end |