Module: GraphQL::SchemaComparator

Defined in:
lib/graphql/schema_comparator.rb,
lib/graphql/schema_comparator/result.rb,
lib/graphql/schema_comparator/changes.rb,
lib/graphql/schema_comparator/version.rb,
lib/graphql/schema_comparator/diff/enum.rb,
lib/graphql/schema_comparator/diff/field.rb,
lib/graphql/schema_comparator/diff/union.rb,
lib/graphql/schema_comparator/diff/schema.rb,
lib/graphql/schema_comparator/diff/argument.rb,
lib/graphql/schema_comparator/diff/directive.rb,
lib/graphql/schema_comparator/diff/interface.rb,
lib/graphql/schema_comparator/diff/input_field.rb,
lib/graphql/schema_comparator/diff/object_type.rb,
lib/graphql/schema_comparator/diff/input_object.rb,
lib/graphql/schema_comparator/changes/criticality.rb,
lib/graphql/schema_comparator/diff/directive_argument.rb,
lib/graphql/schema_comparator/changes/safe_type_change.rb

Defined Under Namespace

Modules: Changes, Diff Classes: Result

Constant Summary collapse

VERSION =
"0.4.0"

Class Method Summary collapse

Class Method Details

.compare(old_schema, new_schema) ⇒ GraphQL::SchemaComparator::Result

Compares and returns changes for two versions of a schema

Parameters:

  • old_schema (GraphQL::Schema, String)
  • new_schema (GraphQL::Schema, String)

Returns:


27
28
29
30
31
32
33
# File 'lib/graphql/schema_comparator.rb', line 27

def self.compare(old_schema, new_schema)
  parsed_old = parse_schema(old_schema)
  parsed_new = parse_schema(new_schema)

  changes = Diff::Schema.new(parsed_old, parsed_new).diff
  Result.new(changes)
end