class GraphQL::SchemaComparator::Diff::Argument

Attributes

field[R]
new_arg[R]
old_arg[R]
type[R]

Public Class Methods

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

  @old_arg = old_arg
  @new_arg = new_arg
end

Public Instance Methods

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

  if old_arg.description != new_arg.description
    changes << Changes::FieldArgumentDescriptionChanged.new(type, field, old_arg, new_arg)
  end

  if old_arg.default_value != new_arg.default_value
    changes << Changes::FieldArgumentDefaultChanged.new(type, field, old_arg, new_arg)
  end

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

  # TODO directives

  changes
end