Class: Sidenotes::Verifier
- Inherits:
-
Object
- Object
- Sidenotes::Verifier
- Defined in:
- lib/sidenotes/verifier.rb
Defined Under Namespace
Classes: Drift
Instance Attribute Summary collapse
-
#checked_count ⇒ Object
readonly
Returns the value of attribute checked_count.
-
#drifts ⇒ Object
readonly
Returns the value of attribute drifts.
-
#missing_sidecars ⇒ Object
readonly
Returns the value of attribute missing_sidecars.
Instance Method Summary collapse
- #drift? ⇒ Boolean
-
#initialize ⇒ Verifier
constructor
A new instance of Verifier.
- #issue_count ⇒ Object
- #verify_all ⇒ Object
- #verify_model(model) ⇒ Object
Constructor Details
#initialize ⇒ Verifier
Returns a new instance of Verifier.
12 13 14 15 16 |
# File 'lib/sidenotes/verifier.rb', line 12 def initialize @drifts = [] @missing_sidecars = [] @checked_count = 0 end |
Instance Attribute Details
#checked_count ⇒ Object (readonly)
Returns the value of attribute checked_count.
10 11 12 |
# File 'lib/sidenotes/verifier.rb', line 10 def checked_count @checked_count end |
#drifts ⇒ Object (readonly)
Returns the value of attribute drifts.
10 11 12 |
# File 'lib/sidenotes/verifier.rb', line 10 def drifts @drifts end |
#missing_sidecars ⇒ Object (readonly)
Returns the value of attribute missing_sidecars.
10 11 12 |
# File 'lib/sidenotes/verifier.rb', line 10 def missing_sidecars @missing_sidecars end |
Instance Method Details
#drift? ⇒ Boolean
45 46 47 |
# File 'lib/sidenotes/verifier.rb', line 45 def drift? drifts.any? || missing_sidecars.any? end |
#issue_count ⇒ Object
49 50 51 |
# File 'lib/sidenotes/verifier.rb', line 49 def issue_count drifts.sum { |d| d.issues.size } + missing_sidecars.size end |
#verify_all ⇒ Object
18 19 20 21 22 |
# File 'lib/sidenotes/verifier.rb', line 18 def verify_all generator = Generator.new generator.discover_models.each { |model| verify_model(model) } self end |
#verify_model(model) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/sidenotes/verifier.rb', line 24 def verify_model(model) inspector = ModelInspector.new(model) return unless inspector.inspectable? @checked_count += 1 sidecar = sidecar_path_for(model) unless File.exist?(sidecar) @missing_sidecars << model.name return end stored = parse_sidecar(sidecar, model.name) current = inspector.inspect_model issues = compare(stored, current) return if issues.empty? @drifts << Drift.new(model_name: model.name, sidecar_path: sidecar, issues: issues) end |