Module: TinyGQL::Visitors::Fold

Defined in:
lib/tinygql/visitors.rb

Instance Method Summary collapse

Instance Method Details

#handle_argument(obj, seed) ⇒ Object



255
256
257
258
# File 'lib/tinygql/visitors.rb', line 255

def handle_argument obj, seed
  seed = obj.value.fold(self, seed)
  seed
end

#handle_boolean_value(obj, seed) ⇒ Object



284
285
286
# File 'lib/tinygql/visitors.rb', line 284

def handle_boolean_value obj, seed
  seed
end

#handle_directive(obj, seed) ⇒ Object



305
306
307
308
# File 'lib/tinygql/visitors.rb', line 305

def handle_directive obj, seed
  obj.arguments.each { |v| seed = v.fold(self, seed) } if obj.arguments
  seed
end

#handle_directive_definition(obj, seed) ⇒ Object



426
427
428
429
430
431
# File 'lib/tinygql/visitors.rb', line 426

def handle_directive_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.arguments_definition.each { |v| seed = v.fold(self, seed) } if obj.arguments_definition
  obj.directive_locations.each { |v| seed = v.fold(self, seed) }
  seed
end

#handle_document(obj, seed) ⇒ Object



214
215
216
217
# File 'lib/tinygql/visitors.rb', line 214

def handle_document obj, seed
  obj.definitions.each { |v| seed = v.fold(self, seed) }
  seed
end

#handle_enum_type_definition(obj, seed) ⇒ Object



397
398
399
400
401
402
# File 'lib/tinygql/visitors.rb', line 397

def handle_enum_type_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.enum_value_definition.each { |v| seed = v.fold(self, seed) } if obj.enum_value_definition
  seed
end

#handle_enum_type_extension(obj, seed) ⇒ Object



451
452
453
454
455
# File 'lib/tinygql/visitors.rb', line 451

def handle_enum_type_extension obj, seed
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.enum_value_definition.each { |v| seed = v.fold(self, seed) } if obj.enum_value_definition
  seed
end

#handle_enum_value(obj, seed) ⇒ Object



292
293
294
# File 'lib/tinygql/visitors.rb', line 292

def handle_enum_value obj, seed
  seed
end

#handle_enum_value_definition(obj, seed) ⇒ Object



390
391
392
393
394
395
# File 'lib/tinygql/visitors.rb', line 390

def handle_enum_value_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  seed = obj.enum_value.fold(self, seed)
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  seed
end

#handle_executable_directive_location(obj, seed) ⇒ Object



418
419
420
# File 'lib/tinygql/visitors.rb', line 418

def handle_executable_directive_location obj, seed
  seed
end

#handle_field(obj, seed) ⇒ Object



260
261
262
263
264
265
# File 'lib/tinygql/visitors.rb', line 260

def handle_field obj, seed
  obj.arguments.each { |v| seed = v.fold(self, seed) } if obj.arguments
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.selection_set.each { |v| seed = v.fold(self, seed) } if obj.selection_set
  seed
end

#handle_field_definition(obj, seed) ⇒ Object



346
347
348
349
350
351
352
# File 'lib/tinygql/visitors.rb', line 346

def handle_field_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.arguments_definition.each { |v| seed = v.fold(self, seed) } if obj.arguments_definition
  seed = obj.type.fold(self, seed)
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  seed
end

#handle_float_value(obj, seed) ⇒ Object



276
277
278
# File 'lib/tinygql/visitors.rb', line 276

def handle_float_value obj, seed
  seed
end

#handle_fragment_definition(obj, seed) ⇒ Object



327
328
329
330
331
332
# File 'lib/tinygql/visitors.rb', line 327

def handle_fragment_definition obj, seed
  seed = obj.type_condition.fold(self, seed)
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.selection_set.each { |v| seed = v.fold(self, seed) }
  seed
end

#handle_fragment_spread(obj, seed) ⇒ Object



322
323
324
325
# File 'lib/tinygql/visitors.rb', line 322

def handle_fragment_spread obj, seed
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  seed
end

#handle_inline_fragment(obj, seed) ⇒ Object



315
316
317
318
319
320
# File 'lib/tinygql/visitors.rb', line 315

def handle_inline_fragment obj, seed
  seed = obj.type_condition.fold(self, seed) if obj.type_condition
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.selection_set.each { |v| seed = v.fold(self, seed) }
  seed
end

#handle_input_object_type_definition(obj, seed) ⇒ Object



404
405
406
407
408
409
# File 'lib/tinygql/visitors.rb', line 404

def handle_input_object_type_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.input_fields_definition.each { |v| seed = v.fold(self, seed) } if obj.input_fields_definition
  seed
end

#handle_input_object_type_extension(obj, seed) ⇒ Object



457
458
459
460
461
# File 'lib/tinygql/visitors.rb', line 457

def handle_input_object_type_extension obj, seed
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.input_fields_definition.each { |v| seed = v.fold(self, seed) } if obj.input_fields_definition
  seed
end

#handle_input_value_definition(obj, seed) ⇒ Object



354
355
356
357
358
359
360
# File 'lib/tinygql/visitors.rb', line 354

def handle_input_value_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  seed = obj.type.fold(self, seed)
  seed = obj.default_value.fold(self, seed) if obj.default_value
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  seed
end

#handle_int_value(obj, seed) ⇒ Object



272
273
274
# File 'lib/tinygql/visitors.rb', line 272

def handle_int_value obj, seed
  seed
end

#handle_interface_type_definition(obj, seed) ⇒ Object



370
371
372
373
374
375
# File 'lib/tinygql/visitors.rb', line 370

def handle_interface_type_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.fields_definition.each { |v| seed = v.fold(self, seed) } if obj.fields_definition
  seed
end

#handle_interface_type_extension(obj, seed) ⇒ Object



438
439
440
441
442
443
# File 'lib/tinygql/visitors.rb', line 438

def handle_interface_type_extension obj, seed
  obj.implements_interfaces.each { |v| seed = v.fold(self, seed) } if obj.implements_interfaces
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.fields_definition.each { |v| seed = v.fold(self, seed) } if obj.fields_definition
  seed
end

#handle_list_type(obj, seed) ⇒ Object



239
240
241
242
# File 'lib/tinygql/visitors.rb', line 239

def handle_list_type obj, seed
  seed = obj.type.fold(self, seed)
  seed
end

#handle_list_value(obj, seed) ⇒ Object



296
297
298
# File 'lib/tinygql/visitors.rb', line 296

def handle_list_value obj, seed
  seed
end

#handle_named_type(obj, seed) ⇒ Object



230
231
232
# File 'lib/tinygql/visitors.rb', line 230

def handle_named_type obj, seed
  seed
end

#handle_not_null_type(obj, seed) ⇒ Object



234
235
236
237
# File 'lib/tinygql/visitors.rb', line 234

def handle_not_null_type obj, seed
  seed = obj.type.fold(self, seed)
  seed
end

#handle_null_value(obj, seed) ⇒ Object



288
289
290
# File 'lib/tinygql/visitors.rb', line 288

def handle_null_value obj, seed
  seed
end

#handle_object_field(obj, seed) ⇒ Object



267
268
269
270
# File 'lib/tinygql/visitors.rb', line 267

def handle_object_field obj, seed
  seed = obj.value.fold(self, seed)
  seed
end

#handle_object_type_definition(obj, seed) ⇒ Object



362
363
364
365
366
367
368
# File 'lib/tinygql/visitors.rb', line 362

def handle_object_type_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.implements_interfaces.each { |v| seed = v.fold(self, seed) } if obj.implements_interfaces
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.fields_definition.each { |v| seed = v.fold(self, seed) } if obj.fields_definition
  seed
end

#handle_object_type_extension(obj, seed) ⇒ Object



411
412
413
414
415
416
# File 'lib/tinygql/visitors.rb', line 411

def handle_object_type_extension obj, seed
  obj.implements_interfaces.each { |v| seed = v.fold(self, seed) } if obj.implements_interfaces
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.fields_definition.each { |v| seed = v.fold(self, seed) } if obj.fields_definition
  seed
end

#handle_object_value(obj, seed) ⇒ Object



300
301
302
303
# File 'lib/tinygql/visitors.rb', line 300

def handle_object_value obj, seed
  obj.values.each { |v| seed = v.fold(self, seed) }
  seed
end

#handle_operation_definition(obj, seed) ⇒ Object



219
220
221
222
223
224
# File 'lib/tinygql/visitors.rb', line 219

def handle_operation_definition obj, seed
  obj.variable_definitions.each { |v| seed = v.fold(self, seed) } if obj.variable_definitions
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.selection_set.each { |v| seed = v.fold(self, seed) }
  seed
end

#handle_root_operation_type_definition(obj, seed) ⇒ Object



334
335
336
337
# File 'lib/tinygql/visitors.rb', line 334

def handle_root_operation_type_definition obj, seed
  seed = obj.named_type.fold(self, seed)
  seed
end

#handle_scalar_type_definition(obj, seed) ⇒ Object



384
385
386
387
388
# File 'lib/tinygql/visitors.rb', line 384

def handle_scalar_type_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  seed
end

#handle_scalar_type_extension(obj, seed) ⇒ Object



433
434
435
436
# File 'lib/tinygql/visitors.rb', line 433

def handle_scalar_type_extension obj, seed
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  seed
end

#handle_schema_definition(obj, seed) ⇒ Object



339
340
341
342
343
344
# File 'lib/tinygql/visitors.rb', line 339

def handle_schema_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.root_operation_definitions.each { |v| seed = v.fold(self, seed) }
  seed
end

#handle_string_value(obj, seed) ⇒ Object



280
281
282
# File 'lib/tinygql/visitors.rb', line 280

def handle_string_value obj, seed
  seed
end

#handle_type_condition(obj, seed) ⇒ Object



310
311
312
313
# File 'lib/tinygql/visitors.rb', line 310

def handle_type_condition obj, seed
  seed = obj.named_type.fold(self, seed)
  seed
end

#handle_type_system_directive_location(obj, seed) ⇒ Object



422
423
424
# File 'lib/tinygql/visitors.rb', line 422

def handle_type_system_directive_location obj, seed
  seed
end

#handle_union_type_definition(obj, seed) ⇒ Object



377
378
379
380
381
382
# File 'lib/tinygql/visitors.rb', line 377

def handle_union_type_definition obj, seed
  seed = obj.description.fold(self, seed) if obj.description
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.union_member_types.each { |v| seed = v.fold(self, seed) } if obj.union_member_types
  seed
end

#handle_union_type_extension(obj, seed) ⇒ Object



445
446
447
448
449
# File 'lib/tinygql/visitors.rb', line 445

def handle_union_type_extension obj, seed
  obj.directives.each { |v| seed = v.fold(self, seed) } if obj.directives
  obj.union_member_types.each { |v| seed = v.fold(self, seed) } if obj.union_member_types
  seed
end

#handle_value(obj, seed) ⇒ Object



251
252
253
# File 'lib/tinygql/visitors.rb', line 251

def handle_value obj, seed
  seed
end

#handle_variable(obj, seed) ⇒ Object



226
227
228
# File 'lib/tinygql/visitors.rb', line 226

def handle_variable obj, seed
  seed
end

#handle_variable_definition(obj, seed) ⇒ Object



244
245
246
247
248
249
# File 'lib/tinygql/visitors.rb', line 244

def handle_variable_definition obj, seed
  seed = obj.variable.fold(self, seed)
  seed = obj.type.fold(self, seed)
  seed = obj.default_value.fold(self, seed) if obj.default_value
  seed
end