class GraphQL::SchemaComparator::Diff::InputField

Attributes

new_field[R]
new_type[R]
old_field[R]
old_type[R]

Public Class Methods

new(old_type, new_type, old_field, new_field) click to toggle source
# File lib/graphql/schema_comparator/diff/input_field.rb, line 5
def initialize(old_type, new_type, old_field, new_field)
  @old_type = old_type
  @new_type = new_type

  @old_field = old_field
  @new_field = new_field
end

Public Instance Methods

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

  if old_field.description != new_field.description
    changes << Changes::InputFieldDescriptionChanged.new(old_type, old_field, new_field)
  end

  if old_field.default_value != new_field.default_value
    changes << Changes::InputFieldDefaultChanged.new(old_type, old_field, new_field)
  end

  if old_field.type.graphql_definition != new_field.type.graphql_definition
    changes << Changes::InputFieldTypeChanged.new(old_type, old_field, new_field)
  end

  # TODO: directives

  changes
end