Current section
Files
Jump to
Current section
Files
lib/neuron.ex
defmodule Neuron do
@moduledoc """
Allows to interact with graphql endpoints.
"""
@doc """
runs a query request to your graphql endpoint
"""
def query(query_string) do
query_string
|> construct_query_string()
|> run()
end
@doc """
runs a mutation request to your graphql endpoint
"""
def mutation(mutation_string) do
mutation_string
|> construct_mutation_string()
|> run()
end
defp run(body) do
body
|> run_query
|> Neuron.Response.handle()
end
defp run_query(body) do
Neuron.Connection.post(url(), body)
end
defp construct_query_string(query_string) do
"query #{query_string}"
end
defp construct_mutation_string(mutation_string) do
"mutation #{mutation_string}"
end
defp url() do
Neuron.Config.get(:url)
end
end