Method: GraphQL::Schema::Field#directives

Defined in:
lib/graphql/schema/field.rb

#directivesObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/graphql/schema/field.rb', line 49

def directives
  if @resolver_class && !(r_dirs = @resolver_class.directives).empty?
    if !(own_dirs = super).empty?
      new_dirs = own_dirs.dup
      r_dirs.each do |r_dir|
        if r_dir.class.repeatable? ||
          ( (r_dir_name = r_dir.graphql_name) &&
            (!new_dirs.any? { |d| d.graphql_name == r_dir_name })
          )
          new_dirs << r_dir
        end
      end
      new_dirs
    else
      r_dirs
    end
  else
    super
  end
end