Class: Diogenes::Evaluation::DecisionRecord
- Inherits:
-
Object
- Object
- Diogenes::Evaluation::DecisionRecord
- Defined in:
- lib/diogenes/evaluation/decision_record.rb
Defined Under Namespace
Classes: RenderContext
Constant Summary collapse
- DEFAULT_OUTPUT_DIR =
: String
"docs/decisions"- BUNDLED_TEMPLATE =
: String
File.("../templates/init/artifacts/decision_record.md.erb", __dir__).freeze
- PROJECT_TEMPLATE =
: String
".diogenes/artifacts/decision_record.md.erb"
Instance Attribute Summary collapse
-
#alternative ⇒ Object
writeonly
: String.
-
#conditions ⇒ Object
writeonly
: String.
-
#notes ⇒ Object
writeonly
: String.
-
#verdict ⇒ Object
: () -> String.
Instance Method Summary collapse
-
#filename ⇒ Object
: () -> String.
-
#initialize(description:, results:, evaluator:, output_dir: DEFAULT_OUTPUT_DIR) ⇒ DecisionRecord
constructor
: (description: String, results: Array, evaluator: String, ?output_dir: String) -> void.
-
#write(cwd:) ⇒ Object
: (cwd: String) -> String.
Constructor Details
#initialize(description:, results:, evaluator:, output_dir: DEFAULT_OUTPUT_DIR) ⇒ DecisionRecord
: (description: String, results: Array, evaluator: String, ?output_dir: String) -> void
16 17 18 19 20 21 22 23 24 |
# File 'lib/diogenes/evaluation/decision_record.rb', line 16 def initialize(description:, results:, evaluator:, output_dir: DEFAULT_OUTPUT_DIR) @description = description @results = results @evaluator = evaluator @output_dir = output_dir @alternative = "" #: String @conditions = "" #: String @notes = "" #: String end |
Instance Attribute Details
#alternative=(value) ⇒ Object (writeonly)
: String
26 27 28 |
# File 'lib/diogenes/evaluation/decision_record.rb', line 26 def alternative=(value) @alternative = value end |
#conditions=(value) ⇒ Object (writeonly)
: String
27 28 29 |
# File 'lib/diogenes/evaluation/decision_record.rb', line 27 def conditions=(value) @conditions = value end |
#notes=(value) ⇒ Object (writeonly)
: String
28 29 30 |
# File 'lib/diogenes/evaluation/decision_record.rb', line 28 def notes=(value) @notes = value end |
#verdict ⇒ Object
: () -> String
31 32 33 |
# File 'lib/diogenes/evaluation/decision_record.rb', line 31 def verdict @verdict ||= @results.all?(&:passed?) ? "PROCEED" : "REJECT" end |
Instance Method Details
#filename ⇒ Object
: () -> String
39 40 41 |
# File 'lib/diogenes/evaluation/decision_record.rb', line 39 def filename "#{slugify(@description)}_decision.md" end |
#write(cwd:) ⇒ Object
: (cwd: String) -> String
44 45 46 47 48 49 50 |
# File 'lib/diogenes/evaluation/decision_record.rb', line 44 def write(cwd:) dir = File.join(cwd, @output_dir) FileUtils.mkdir_p(dir) path = File.join(dir, filename) File.write(path, render(cwd:)) path end |