Graphql-ruby objects: Difference between revisions

From wikinotes
Line 22: Line 22:
   field :id, Integer    # name, returntype
   field :id, Integer    # name, returntype
   field :age, Integer  # name, returntype
   field :age, Integer  # name, returntype
  def id
    return 100
  end
  def age
    return 30
  end
end
end
</syntaxhighlight>
</syntaxhighlight>

Revision as of 16:41, 6 September 2021

Documentation

type docs https://graphql-ruby.org/guides#type-definitions-guides
field docs https://graphql-ruby.org/guides#fields-guides

Fields

All objects in graphql are exposed using fields.
Mutations are added as fields to the root Mutation object,
and Queries are added to the root Query object.

Fields

class User < GraphQL::Schema::Object
  field :id, Integer    # name, returntype
  field :age, Integer   # name, returntype

  def id
    return 100
  end

  def age
    return 30
  end
end

Parametrized Fields

class MyGraph < GraphQL::Schema::Object
  field :user, User, do |field|
    field.argument(:id, Integer, required: true)
  end
end