Class: Igniter::Extensions::Contracts::Creator::WriteResult
- Inherits:
-
Object
- Object
- Igniter::Extensions::Contracts::Creator::WriteResult
- Defined in:
- lib/igniter/extensions/contracts/creator/write_result.rb
Instance Attribute Summary collapse
-
#mode ⇒ Object
readonly
Returns the value of attribute mode.
-
#root ⇒ Object
readonly
Returns the value of attribute root.
-
#steps ⇒ Object
readonly
Returns the value of attribute steps.
Instance Method Summary collapse
- #directories_created ⇒ Object
- #files_skipped ⇒ Object
- #files_written ⇒ Object
-
#initialize(root:, mode:, steps:) ⇒ WriteResult
constructor
A new instance of WriteResult.
- #success? ⇒ Boolean
- #to_h ⇒ Object
Constructor Details
#initialize(root:, mode:, steps:) ⇒ WriteResult
Returns a new instance of WriteResult.
10 11 12 13 14 15 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 10 def initialize(root:, mode:, steps:) @root = root @mode = mode.to_sym @steps = steps.freeze freeze end |
Instance Attribute Details
#mode ⇒ Object (readonly)
Returns the value of attribute mode.
8 9 10 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 8 def mode @mode end |
#root ⇒ Object (readonly)
Returns the value of attribute root.
8 9 10 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 8 def root @root end |
#steps ⇒ Object (readonly)
Returns the value of attribute steps.
8 9 10 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 8 def steps @steps end |
Instance Method Details
#directories_created ⇒ Object
25 26 27 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 25 def directories_created steps.count { |step| step.kind == :directory && step.status == :created } end |
#files_skipped ⇒ Object
21 22 23 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 21 def files_skipped steps.count { |step| step.kind == :file && step.status == :skipped } end |
#files_written ⇒ Object
17 18 19 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 17 def files_written steps.count { |step| step.kind == :file && %i[written unchanged].include?(step.status) } end |
#success? ⇒ Boolean
29 30 31 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 29 def success? steps.none?(&:actionable?) end |
#to_h ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/igniter/extensions/contracts/creator/write_result.rb', line 33 def to_h { root: root, mode: mode, files_written: files_written, files_skipped: files_skipped, directories_created: directories_created, success: success?, steps: steps.map(&:to_h) } end |