Class: Igniter::Extensions::Contracts::Creator::WriteStep
- Inherits:
-
Object
- Object
- Igniter::Extensions::Contracts::Creator::WriteStep
- Defined in:
- lib/igniter/extensions/contracts/creator/write_step.rb
Constant Summary collapse
- VALID_KINDS =
%i[directory file].freeze
- VALID_STATUSES =
%i[pending created written skipped unchanged].freeze
Instance Attribute Summary collapse
-
#absolute_path ⇒ Object
readonly
Returns the value of attribute absolute_path.
-
#kind ⇒ Object
readonly
Returns the value of attribute kind.
-
#reason ⇒ Object
readonly
Returns the value of attribute reason.
-
#relative_path ⇒ Object
readonly
Returns the value of attribute relative_path.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Instance Method Summary collapse
- #actionable? ⇒ Boolean
-
#initialize(kind:, relative_path:, absolute_path:, status:, reason: nil) ⇒ WriteStep
constructor
A new instance of WriteStep.
- #skipped? ⇒ Boolean
- #to_h ⇒ Object
- #written? ⇒ Boolean
Constructor Details
#initialize(kind:, relative_path:, absolute_path:, status:, reason: nil) ⇒ WriteStep
Returns a new instance of WriteStep.
13 14 15 16 17 18 19 20 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 13 def initialize(kind:, relative_path:, absolute_path:, status:, reason: nil) @kind = normalize_kind(kind) @relative_path = relative_path.to_s @absolute_path = absolute_path.to_s @status = normalize_status(status) @reason = reason freeze end |
Instance Attribute Details
#absolute_path ⇒ Object (readonly)
Returns the value of attribute absolute_path.
11 12 13 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 11 def absolute_path @absolute_path end |
#kind ⇒ Object (readonly)
Returns the value of attribute kind.
11 12 13 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 11 def kind @kind end |
#reason ⇒ Object (readonly)
Returns the value of attribute reason.
11 12 13 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 11 def reason @reason end |
#relative_path ⇒ Object (readonly)
Returns the value of attribute relative_path.
11 12 13 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 11 def relative_path @relative_path end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
11 12 13 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 11 def status @status end |
Instance Method Details
#actionable? ⇒ Boolean
22 23 24 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 22 def actionable? status == :pending end |
#skipped? ⇒ Boolean
30 31 32 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 30 def skipped? status == :skipped end |
#to_h ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 34 def to_h { kind: kind, relative_path: relative_path, absolute_path: absolute_path, status: status, reason: reason } end |
#written? ⇒ Boolean
26 27 28 |
# File 'lib/igniter/extensions/contracts/creator/write_step.rb', line 26 def written? %i[created written unchanged].include?(status) end |