Class: Graphlient::Query
- Inherits:
-
Object
- Object
- Graphlient::Query
- Defined in:
- lib/graphlient/query.rb,
lib/graphlient/query/directive.rb,
lib/graphlient/query/serializer.rb,
lib/graphlient/query/serializer/scalars.rb,
lib/graphlient/query/serializer/arguments.rb,
lib/graphlient/query/serializer/evaluator.rb,
lib/graphlient/query/serializer/fragments.rb,
lib/graphlient/query/serializer/directives.rb
Overview
Public interface for building GraphQL query strings via a DSL block. Delegates all string-building work to Query::Serializer.
Usage:
Graphlient::Query.new do
query do
invoice(id: 10) { id; fee_in_cents }
end
end.to_s
Defined Under Namespace
Classes: Directive, Serializer
Class Method Summary collapse
-
.scalar(sym, graphql_type) ⇒ Object
Register a custom scalar type for variable declarations.
Instance Method Summary collapse
-
#initialize(&block) ⇒ Query
constructor
A new instance of Query.
- #to_s ⇒ Object
Constructor Details
#initialize(&block) ⇒ Query
Returns a new instance of Query.
21 22 23 |
# File 'lib/graphlient/query.rb', line 21 def initialize(&block) @serializer = Serializer.new(&block) end |
Class Method Details
.scalar(sym, graphql_type) ⇒ Object
Register a custom scalar type for variable declarations. Delegates to Serializer so client configuration works:
client = Graphlient::Client.new(url) { |c| c.scalar :date, 'Date' }
17 18 19 |
# File 'lib/graphlient/query.rb', line 17 def self.scalar(sym, graphql_type) Serializer.scalar(sym, graphql_type) end |
Instance Method Details
#to_s ⇒ Object
25 26 27 |
# File 'lib/graphlient/query.rb', line 25 def to_s @serializer.to_s end |