Class: RubyTerraform::Models::Change
- Inherits:
-
Object
- Object
- RubyTerraform::Models::Change
- Includes:
- ValueEquality
- Defined in:
- lib/ruby_terraform/models/change.rb
Instance Method Summary collapse
- #actions ⇒ Object
- #after ⇒ Object
- #after_object ⇒ Object
- #after_sensitive ⇒ Object
- #after_unknown ⇒ Object
- #before ⇒ Object
- #before_object ⇒ Object
- #before_sensitive ⇒ Object
- #create? ⇒ Boolean
- #delete? ⇒ Boolean
-
#initialize(content) ⇒ Change
constructor
A new instance of Change.
- #inspect ⇒ Object
- #no_op? ⇒ Boolean
- #read? ⇒ Boolean
- #replace? ⇒ Boolean
- #replace_create_before_delete? ⇒ Boolean
- #replace_delete_before_create? ⇒ Boolean
- #state ⇒ Object
- #to_h ⇒ Object
- #update? ⇒ Boolean
Methods included from ValueEquality
Constructor Details
#initialize(content) ⇒ Change
Returns a new instance of Change.
11 12 13 |
# File 'lib/ruby_terraform/models/change.rb', line 11 def initialize(content) @content = symbolise_keys(content) end |
Instance Method Details
#actions ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/ruby_terraform/models/change.rb', line 15 def actions @content[:actions].map do |action| { 'no-op' => :no_op, 'create' => :create, 'read' => :read, 'update' => :update, 'delete' => :delete }[action] end end |
#after ⇒ Object
39 40 41 |
# File 'lib/ruby_terraform/models/change.rb', line 39 def after @content[:after] end |
#after_object ⇒ Object
51 52 53 54 55 56 57 |
# File 'lib/ruby_terraform/models/change.rb', line 51 def after_object Objects.box( after, unknown: after_unknown, sensitive: after_sensitive ) end |
#after_sensitive ⇒ Object
47 48 49 |
# File 'lib/ruby_terraform/models/change.rb', line 47 def after_sensitive @content[:after_sensitive] end |
#after_unknown ⇒ Object
43 44 45 |
# File 'lib/ruby_terraform/models/change.rb', line 43 def after_unknown @content[:after_unknown] end |
#before ⇒ Object
27 28 29 |
# File 'lib/ruby_terraform/models/change.rb', line 27 def before @content[:before] end |
#before_object ⇒ Object
35 36 37 |
# File 'lib/ruby_terraform/models/change.rb', line 35 def before_object Objects.box(before, sensitive: before_sensitive) end |
#before_sensitive ⇒ Object
31 32 33 |
# File 'lib/ruby_terraform/models/change.rb', line 31 def before_sensitive @content[:before_sensitive] end |
#create? ⇒ Boolean
63 64 65 |
# File 'lib/ruby_terraform/models/change.rb', line 63 def create? actions == [:create] end |
#delete? ⇒ Boolean
87 88 89 |
# File 'lib/ruby_terraform/models/change.rb', line 87 def delete? actions == [:delete] end |
#inspect ⇒ Object
91 92 93 |
# File 'lib/ruby_terraform/models/change.rb', line 91 def inspect @content.inspect end |
#no_op? ⇒ Boolean
59 60 61 |
# File 'lib/ruby_terraform/models/change.rb', line 59 def no_op? actions == [:no_op] end |
#read? ⇒ Boolean
67 68 69 |
# File 'lib/ruby_terraform/models/change.rb', line 67 def read? actions == [:read] end |
#replace? ⇒ Boolean
83 84 85 |
# File 'lib/ruby_terraform/models/change.rb', line 83 def replace? replace_delete_before_create? || replace_create_before_delete? end |
#replace_create_before_delete? ⇒ Boolean
79 80 81 |
# File 'lib/ruby_terraform/models/change.rb', line 79 def replace_create_before_delete? actions == i[create delete] end |
#replace_delete_before_create? ⇒ Boolean
75 76 77 |
# File 'lib/ruby_terraform/models/change.rb', line 75 def replace_delete_before_create? actions == i[delete create] end |
#state ⇒ Object
99 100 101 |
# File 'lib/ruby_terraform/models/change.rb', line 99 def state [@content] end |
#to_h ⇒ Object
95 96 97 |
# File 'lib/ruby_terraform/models/change.rb', line 95 def to_h @content end |
#update? ⇒ Boolean
71 72 73 |
# File 'lib/ruby_terraform/models/change.rb', line 71 def update? actions == [:update] end |