lib/instana/instrumentation/graphql.rb in instana-1.209.7 vs lib/instana/instrumentation/graphql.rb in instana-1.209.8

- old
+ new

@@ -61,10 +61,23 @@ def walk_fields(parent, method) return [] unless parent.respond_to?(method) parent.send(method).map do |field| - [{object: parent.name, field: field.name}] + walk_fields(field, method) + # Certain types like GraphQL::Language::Nodes::InlineFragment + # have no "name" instance variable defined, + # in such case we use the class's name + parent_name = if parent.instance_variable_defined?(:@name) + parent.name + else + parent.class.name.split('::').last + end + field_name = if field.instance_variable_defined?(:@name) + field.name + else + field.class.name.split('::').last + end + [{object: parent_name, field: field_name}] + walk_fields(field, method) end.flatten end def grouped_fields(fields) fields