Class: GQL::Node
- Inherits:
-
Object
- Object
- GQL::Node
- Defined in:
- lib/gql/node.rb
Direct Known Subclasses
Array, Connection, Object, Raw, Schema::Call, Schema::CallerClass, Schema::Field, Schema::List, Schema::Parameter
Instance Attribute Summary collapse
-
#ast_node ⇒ Object
readonly
Returns the value of attribute ast_node.
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#target ⇒ Object
readonly
Returns the value of attribute target.
-
#variables ⇒ Object
readonly
Returns the value of attribute variables.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(ast_node, target, variables, context) ⇒ Node
constructor
A new instance of Node.
- #raw_value ⇒ Object
- #value ⇒ Object
Constructor Details
#initialize(ast_node, target, variables, context) ⇒ Node
Returns a new instance of Node.
34 35 36 37 |
# File 'lib/gql/node.rb', line 34 def initialize(ast_node, target, variables, context) @ast_node, @target = ast_node, target @variables, @context = variables, context end |
Instance Attribute Details
#ast_node ⇒ Object (readonly)
Returns the value of attribute ast_node.
32 33 34 |
# File 'lib/gql/node.rb', line 32 def ast_node @ast_node end |
#context ⇒ Object (readonly)
Returns the value of attribute context.
32 33 34 |
# File 'lib/gql/node.rb', line 32 def context @context end |
#target ⇒ Object (readonly)
Returns the value of attribute target.
32 33 34 |
# File 'lib/gql/node.rb', line 32 def target @target end |
#variables ⇒ Object (readonly)
Returns the value of attribute variables.
32 33 34 |
# File 'lib/gql/node.rb', line 32 def variables @variables end |
Class Method Details
.build_class(id, proc, options = {}) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/gql/node.rb', line 11 def build_class(id, proc, = {}) Class.new(self).tap do |field_class| field_class.id = id.to_s field_class.proc = proc end end |
.validate_is_subclass!(subclass, name) ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/gql/node.rb', line 18 def validate_is_subclass!(subclass, name) if subclass.nil? raise Errors::UndefinedNodeClass.new(self, name) end unless subclass <= self raise Errors::InvalidNodeClass.new(subclass, self) end end |
Instance Method Details
#raw_value ⇒ Object
49 50 51 |
# File 'lib/gql/node.rb', line 49 def raw_value nil end |
#value ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/gql/node.rb', line 39 def value if ast_call = ast_node.call value_of_call ast_call elsif ast_fields = ast_node.fields value_of_fields ast_fields else raw_value end end |