graphql-ruby
Installation
Install dependencies:
bundle install
rails db:setup
Starting the server:
rails server
Opening the application:
open http://localhost:3000/
Interesting Files:
- GraphqlController - GraphQL controller (api entry point)
- GraphqlTutorialSchema - the schema definition
- Mutations - root mutations
- Queries - root queries
- UserType - record type
- VoteType - record type
- LinkType - record type
- DateTimeType - scalar type
- LinksSearch - complex search resolver and its tests
- CreateLink - mutation and its tests
- CreateUser - mutation and its tests
- CreateVote - mutation and its tests
- SignInUser - mutation and its tests
Sample GraphQL Queries
List first 10 links, containing "example":
{
allLinks(first: 10, filter: {descriptionContains: "example"}) {
id
url
description
createdAt
postedBy {
id
name
}
}
}
Creates new user:
mutation {
createUser(
name: "Radoslav Stankov",
authProvider: {
credentials: { email: "[email protected]", password: "123456" }
}
) {
id
email
name
}
}
Creates new user token:
mutation {
signinUser(credentials: {email: "[email protected]", password: "123456"}) {
token
user {
id
email
name
}
}
}
Creates new link:
mutation {
createLink(url:"http://example.com", description:"Example") {
id
url
description
postedBy {
id
name
}
}
}
Creates new vote:
mutation {
createVote(linkId:"TGluay0yMQ==") {
user {
id
name
}
link {
id
url
description
}
}
}