class GraphQL::Language::Printer

Attributes

node[R]

Public Instance Methods

print(node, indent: "") click to toggle source

Turn an arbitrary AST node back into a string.

@example Turning a document into a query string

document = GraphQL.parse(query_string)
GraphQL::Language::Printer.new.print(document)
# => "{ ... }"

@example Building a custom printer

class MyPrinter < GraphQL::Language::Printer
  def print_argument(arg)
    "#{arg.name}: <HIDDEN>"
  end
end

MyPrinter.new.print(document)
# => "mutation { pay(creditCard: <HIDDEN>) { success } }"

@param indent [String] Whitespace to add to the printed node @return [String] Valid GraphQL for `node`

Protected Instance Methods

print_argument(argument) click to toggle source
print_arguments(arguments, indent: "") click to toggle source
print_description(node, indent: "", first_in_block: true) click to toggle source
print_directive(directive) click to toggle source
print_directive_definition(directive) click to toggle source
print_directives(directives) click to toggle source
print_document(document) click to toggle source
print_enum(enum) click to toggle source
print_enum_type_definition(enum_type) click to toggle source
print_enum_value_definition(enum_value) click to toggle source
print_field(field, indent: "") click to toggle source
print_field_definition(field) click to toggle source
print_field_definitions(fields) click to toggle source
print_fragment_definition(fragment_def, indent: "") click to toggle source
print_fragment_spread(fragment_spread, indent: "") click to toggle source
print_implements(type) click to toggle source
print_inline_fragment(inline_fragment, indent: "") click to toggle source
print_input_object(input_object) click to toggle source
print_input_object_type_definition(input_object_type) click to toggle source
print_input_value_definition(input_value) click to toggle source
print_interface_type_definition(interface_type) click to toggle source
print_list_type(list_type) click to toggle source
print_node(node, indent: "") click to toggle source
print_non_null_type(non_null_type) click to toggle source
print_null_value() click to toggle source
print_object_type_definition(object_type) click to toggle source
print_operation_definition(operation_definition, indent: "") click to toggle source
print_scalar_type_definition(scalar_type) click to toggle source
print_schema_definition(schema) click to toggle source
print_selections(selections, indent: "") click to toggle source
print_type_name(type_name) click to toggle source
print_union_type_definition(union_type) click to toggle source
print_variable_definition(variable_definition) click to toggle source
print_variable_identifier(variable_identifier) click to toggle source