Class: Igniter::Extensions::Contracts::Creator::Workflow
- Inherits:
-
Object
- Object
- Igniter::Extensions::Contracts::Creator::Workflow
- Defined in:
- lib/igniter/extensions/contracts/creator/workflow.rb
Instance Attribute Summary collapse
-
#report ⇒ Object
readonly
Returns the value of attribute report.
Instance Method Summary collapse
- #audit ⇒ Object
- #current_stage ⇒ Object
-
#initialize(report:) ⇒ Workflow
constructor
A new instance of Workflow.
- #profile ⇒ Object
- #ready_for_packaging? ⇒ Boolean
- #recommended_packs ⇒ Object
- #scaffold ⇒ Object
- #scope ⇒ Object
- #stages ⇒ Object
- #to_h ⇒ Object
- #writer(root:, mode: :skip_existing) ⇒ Object
Constructor Details
#initialize(report:) ⇒ Workflow
Returns a new instance of Workflow.
13 14 15 16 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 13 def initialize(report:) @report = report freeze end |
Instance Attribute Details
#report ⇒ Object (readonly)
Returns the value of attribute report.
11 12 13 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 11 def report @report end |
Instance Method Details
#audit ⇒ Object
22 23 24 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 22 def audit report.audit end |
#current_stage ⇒ Object
51 52 53 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 51 def current_stage stages.find { |stage| !stage.complete? } || stages.last end |
#profile ⇒ Object
26 27 28 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 26 def profile scaffold.profile end |
#ready_for_packaging? ⇒ Boolean
55 56 57 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 55 def ready_for_packaging? packaging_stage.status == :ready end |
#recommended_packs ⇒ Object
34 35 36 37 38 39 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 34 def recommended_packs { runtime: profile.runtime_dependency_hints, development: profile.development_dependency_hints } end |
#scaffold ⇒ Object
18 19 20 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 18 def scaffold report.scaffold end |
#scope ⇒ Object
30 31 32 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 30 def scope scaffold.scope end |
#stages ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 41 def stages [ design_stage, scaffold_stage, implementation_stage, validation_stage, packaging_stage ] end |
#to_h ⇒ Object
63 64 65 66 67 68 69 70 71 72 |
# File 'lib/igniter/extensions/contracts/creator/workflow.rb', line 63 def to_h { scaffold: scaffold.to_h, report: report.to_h, recommended_packs: recommended_packs, current_stage: current_stage.to_h, ready_for_packaging: ready_for_packaging?, stages: stages.map(&:to_h) } end |