Sha256: 8eeee7eb54be59326d426fd3b042f068edeaf5db0cb18fab6d0120e8b04ed4ce

Contents?: true

Size: 699 Bytes

Versions: 11

Compression:

Stored size: 699 Bytes

Contents

module Copyable
  class CompletenessChecker

    include DeclarationStubber

    def initialize(model_class)
      @model_class = model_class
    end

    # an algorithm for ensuring that the expected entries are listed
    # in a declaration -- no more, and no less
    def verify!(block)
      self.instance_eval(&block)
      expected = Set.new(expected_entries)
      provided = Set.new(provided_entries)
      missing_entries = expected - provided
      extra_entries = provided - expected
      missing_entries_found(missing_entries) if missing_entries.any?
      extra_entries_found(extra_entries) if extra_entries.any?
    end

    private

    def model_class; @model_class; end

  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
copyable-0.3.5 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.3.3 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.3.2 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.3.1 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.3.0 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.2.0 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.1.2 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.1.1 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.1.0 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.0.2 lib/copyable/syntax_checking/completeness_checker.rb
copyable-0.0.1 lib/copyable/syntax_checking/completeness_checker.rb