class Graphlyte::Field
Attributes
alias[R]
fieldset[R]
inputs[R]
name[R]
Public Class Methods
new(name, fieldset, hargs, inputs: Arguments::Set.new(hargs))
click to toggle source
# File lib/graphlyte/field.rb, line 9 def initialize(name, fieldset, hargs, inputs: Arguments::Set.new(hargs)) @name = name.to_s.to_camel_case @fieldset = fieldset @inputs = inputs @alias = nil end
Public Instance Methods
atomic?()
click to toggle source
# File lib/graphlyte/field.rb, line 16 def atomic? fieldset.empty? end
to_s(indent=0)
click to toggle source
# File lib/graphlyte/field.rb, line 25 def to_s(indent=0) str = "" actual_indent = ("\s" * indent) * 2 if @alias str += "#{actual_indent}#{@alias}: #{name}" str += inputs.to_s.empty? ? "()" : inputs.to_s else str += "#{actual_indent}#{name}#{inputs.to_s}" end str += " {\n#{fieldset.to_s(indent + 1)}\n#{actual_indent}}" unless atomic? str end