module SmartCore::Schema::Checker::Rules::ExtraKeys

@api private @since 0.1.0 @version 0.3.0

Public Class Methods

__verify!(verifiable_hash, rules, matcher_options) click to toggle source

@param verifiable_hash [SmartCore::Schema::Checker::VerifiableHash] @param rules [SmartCore::Schema::Checker::Rules] @param matcher_options [SmartCore::Schema::Checker::Reconciler::Matcher::Options] @return [SmartCore::Schema::Checker::Rules::ExtraKeys::Success] @return [SmartCore::Schema::Checker::Rules::ExtraKeys::Failure]

@api private @since 0.1.0 @version 0.3.0

# File lib/smart_core/schema/checker/rules/extra_keys.rb, line 21
def __verify!(verifiable_hash, rules, matcher_options)
  extra_keys = verifiable_hash.keys - rules.keys

  if extra_keys.empty? || (extra_keys.any? && !matcher_options.strict_schema?)
    Success.new(extra_keys, matcher_options)
  else
    Failure.new(extra_keys, matcher_options)
  end
end