class Copyable::CompletenessChecker

Public Class Methods

new(model_class) click to toggle source
# File lib/copyable/syntax_checking/completeness_checker.rb, line 6
def initialize(model_class)
  @model_class = model_class
end

Public Instance Methods

verify!(block) click to toggle source

an algorithm for ensuring that the expected entries are listed in a declaration – no more, and no less

# File lib/copyable/syntax_checking/completeness_checker.rb, line 12
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 Instance Methods

model_class() click to toggle source
# File lib/copyable/syntax_checking/completeness_checker.rb, line 24
def model_class; @model_class; end