class GraphQL::SchemaComparator::Diff::DirectiveArgument

Attributes

directive[R]
new_arg[R]
old_arg[R]

Public Class Methods

new(directive, old_arg, new_arg) click to toggle source
# File lib/graphql/schema_comparator/diff/directive_argument.rb, line 5
def initialize(directive, old_arg, new_arg)
  @directive = directive
  @old_arg = old_arg
  @new_arg = new_arg
end

Public Instance Methods

diff() click to toggle source
# File lib/graphql/schema_comparator/diff/directive_argument.rb, line 11
def diff
  changes = []

  if old_arg.description != new_arg.description
    changes << Changes::DirectiveArgumentDescriptionChanged.new(directive, old_arg, new_arg)
  end

  if old_arg.default_value != new_arg.default_value
    changes << Changes::DirectiveArgumentDefaultChanged.new(directive, old_arg, new_arg)
  end

  if old_arg.type.graphql_definition != new_arg.type.graphql_definition
    changes << Changes::DirectiveArgumentTypeChanged.new(directive, old_arg, new_arg)
  end

  # TODO directives on directive arguments

  changes
end