Class: GraphQL::Client::Definition
- Inherits:
-
Module
- Object
- Module
- GraphQL::Client::Definition
- Defined in:
- lib/graphql/client.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#definition_node ⇒ Object
readonly
Internal: Get underlying operation or fragment defintion AST node for definition.
Instance Method Summary collapse
-
#definition_name ⇒ Object
Public: Global name of definition in client document.
-
#initialize(node:) ⇒ Definition
constructor
A new instance of Definition.
-
#name ⇒ Object
Public: Ruby constant name of definition.
- #new(*args) ⇒ Object
Constructor Details
#initialize(node:) ⇒ Definition
Returns a new instance of Definition.
24 25 26 |
# File 'lib/graphql/client.rb', line 24 def initialize(node:) @definition_node = node end |
Instance Attribute Details
#definition_node ⇒ Object (readonly)
Internal: Get underlying operation or fragment defintion AST node for definition.
Returns OperationDefinition or FragmentDefinition object.
32 33 34 |
# File 'lib/graphql/client.rb', line 32 def definition_node @definition_node end |
Instance Method Details
#definition_name ⇒ Object
Public: Global name of definition in client document.
Returns a GraphQL safe name of the Ruby constant String.
"Users::UserQuery" #=> "Users__UserQuery"
Returns String.
48 49 50 |
# File 'lib/graphql/client.rb', line 48 def definition_name @definition_name ||= name.gsub("::", "__").freeze end |
#name ⇒ Object
Public: Ruby constant name of definition.
Returns String or errors if definition was not assigned to a constant.
37 38 39 |
# File 'lib/graphql/client.rb', line 37 def name @name ||= super || raise(RuntimeError, "definition must be assigned to a constant") end |
#new(*args) ⇒ Object
52 53 54 |
# File 'lib/graphql/client.rb', line 52 def new(*args) query_result_class.new(*args) end |