Module: GraphQL::Client::Query::AddInlineFragment

Included in:
Field, Fragment
Defined in:
lib/graphql_client/query/add_inline_fragment.rb

Constant Summary collapse

INVALID_FRAGMENT_TARGET =
Class.new(StandardError)

Instance Method Summary collapse

Instance Method Details

#add_inline_fragment(type_name = resolver_type.name) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/graphql_client/query/add_inline_fragment.rb', line 9

def add_inline_fragment(type_name = resolver_type.name)
  target_type = validate_fragment_target(document.schema.type(type_name))

  inline_fragment = InlineFragment.new(target_type, document: document)
  selection_set.add_inline_fragment(inline_fragment)

  if block_given?
    yield inline_fragment
  else
    inline_fragment
  end
end