Class: Kitsune::Kit::Change
- Inherits:
-
Object
- Object
- Kitsune::Kit::Change
- Defined in:
- lib/kitsune/kit/plan.rb
Constant Summary collapse
- ACTIONS =
%w[create update delete no_change].freeze
Class Method Summary collapse
Instance Method Summary collapse
- #changed? ⇒ Boolean
- #destructive? ⇒ Boolean
-
#initialize(resource:, action:, summary:, details: {}, destructive: false) ⇒ Change
constructor
A new instance of Change.
- #to_h ⇒ Object
Constructor Details
#initialize(resource:, action:, summary:, details: {}, destructive: false) ⇒ Change
Returns a new instance of Change.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/kitsune/kit/plan.rb', line 8 def initialize(resource:, action:, summary:, details: {}, destructive: false) raise ArgumentError, "unknown action: #{action}" unless ACTIONS.include?(action.to_s) super( resource: resource.to_s, action: action.to_s, summary: summary.to_s, details: details.freeze, destructive: !!destructive ) end |
Class Method Details
.from_h(value) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/kitsune/kit/plan.rb', line 33 def self.from_h(value) new( resource: value.fetch("resource"), action: value.fetch("action"), summary: value.fetch("summary"), details: value.fetch("details", {}), destructive: value.fetch("destructive", false) ) end |
Instance Method Details
#changed? ⇒ Boolean
20 |
# File 'lib/kitsune/kit/plan.rb', line 20 def changed? = action != "no_change" |
#destructive? ⇒ Boolean
21 |
# File 'lib/kitsune/kit/plan.rb', line 21 def destructive? = destructive |
#to_h ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/kitsune/kit/plan.rb', line 23 def to_h { resource: resource, action: action, summary: summary, details: details, destructive: destructive } end |