Module: ConsistencyFail

Defined in:
lib/consistency_fail.rb,
lib/consistency_fail/index.rb,
lib/consistency_fail/models.rb,
lib/consistency_fail/version.rb,
lib/consistency_fail/enforcer.rb,
lib/consistency_fail/reporter.rb,
lib/consistency_fail/reporters/base.rb,
lib/consistency_fail/reporters/has_one.rb,
lib/consistency_fail/introspectors/has_one.rb,
lib/consistency_fail/reporters/polymorphic.rb,
lib/consistency_fail/introspectors/table_data.rb,
lib/consistency_fail/introspectors/polymorphic.rb,
lib/consistency_fail/reporters/validates_uniqueness_of.rb,
lib/consistency_fail/introspectors/validates_uniqueness_of.rb

Defined Under Namespace

Modules: Introspectors, Reporters Classes: Enforcer, Index, Models, Reporter

Constant Summary collapse

VERSION =
"0.3.6"

Class Method Summary collapse

Class Method Details

.runObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/consistency_fail.rb', line 9

def self.run
  models = ConsistencyFail::Models.new($LOAD_PATH)
  models.preload_all

  reporter = ConsistencyFail::Reporter.new

  success = true

  introspector = ConsistencyFail::Introspectors::ValidatesUniquenessOf.new
  problems = problems(models.all, introspector)
  reporter.report_validates_uniqueness_problems(problems)
  success &&= problems.empty?

  introspector = ConsistencyFail::Introspectors::HasOne.new
  problems = problems(models.all, introspector)
  reporter.report_has_one_problems(problems)
  success &&= problems.empty?

  introspector = ConsistencyFail::Introspectors::Polymorphic.new
  problems = problems(models.all, introspector)
  reporter.report_polymorphic_problems(problems)
  success &&= problems.empty?
  
  success
end