Class: GQL::Array
Instance Attribute Summary
Attributes inherited from Node
#ast_node, #context, #target, #variables
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Node
#initialize, #raw_value, validate_is_subclass!
Constructor Details
This class inherits a constructor from GQL::Node
Class Method Details
.build_class(id, proc, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/gql/array.rb', line 8 def build_class(id, proc, = {}) item_class = .delete(:item_class) || self.item_class if item_class.is_a?(Hash) item_class.values.each do |klass| Node.validate_is_subclass! klass, 'item' end else Node.validate_is_subclass! item_class, 'item' item_class = Hash.new(item_class) end Class.new(self).tap do |field_class| field_class.id = id.to_s field_class.proc = proc field_class.item_class = item_class end end |
Instance Method Details
#value ⇒ Object
28 29 30 31 32 33 |
# File 'lib/gql/array.rb', line 28 def value target.map do |item| node = self.class.item_class[item.class].new(ast_node, item, variables, context) node.value end end |