Class: ArSerializer::GraphQL::OrTypeClass

Inherits:
TypeClass
  • Object
show all
Defined in:
lib/ar_serializer/graphql/types.rb

Instance Attribute Summary

Attributes inherited from TypeClass

#except, #only, #type

Instance Method Summary collapse

Methods inherited from TypeClass

#association_type, #description, #fields, from, #initialize, #of_type, #validate!

Constructor Details

This class inherits a constructor from ArSerializer::GraphQL::TypeClass

Instance Method Details

#collect_types(types) ⇒ Object



401
402
403
404
# File 'lib/ar_serializer/graphql/types.rb', line 401

def collect_types(types)
  types[:other] = true
  of_types.map { |t| t.collect_types types }
end

#gql_typeObject



406
407
408
# File 'lib/ar_serializer/graphql/types.rb', line 406

def gql_type
  kind
end

#kindObject



389
390
391
# File 'lib/ar_serializer/graphql/types.rb', line 389

def kind
  'OBJECT'
end

#nameObject



393
394
395
# File 'lib/ar_serializer/graphql/types.rb', line 393

def name
  :other
end

#of_typesObject



397
398
399
# File 'lib/ar_serializer/graphql/types.rb', line 397

def of_types
  type.map { |t| TypeClass.from t, only, except }
end

#sampleObject



410
411
412
# File 'lib/ar_serializer/graphql/types.rb', line 410

def sample
  of_types.first.sample
end

#ts_typeObject



414
415
416
# File 'lib/ar_serializer/graphql/types.rb', line 414

def ts_type
  '(' + of_types.map(&:ts_type).join(' | ') + ')'
end