Class: Terraspace::Compiler::Cleaner::BackendChange
- Inherits:
-
Object
- Object
- Terraspace::Compiler::Cleaner::BackendChange
- Includes:
- Util
- Defined in:
- lib/terraspace/compiler/cleaner/backend_change.rb
Instance Method Summary collapse
- #current_backend ⇒ Object
- #fresh_backend ⇒ Object
-
#initialize(mod, options = {}) ⇒ BackendChange
constructor
A new instance of BackendChange.
- #purge ⇒ Object
-
#purge? ⇒ Boolean
Whenever the backend is changed, purge the cache entirely.
Methods included from Util
Methods included from Util::Sure
Methods included from Util::Sh
Methods included from Util::Logging
Constructor Details
#initialize(mod, options = {}) ⇒ BackendChange
Returns a new instance of BackendChange.
5 6 7 |
# File 'lib/terraspace/compiler/cleaner/backend_change.rb', line 5 def initialize(mod, ={}) @mod, = mod, end |
Instance Method Details
#current_backend ⇒ Object
29 30 31 32 |
# File 'lib/terraspace/compiler/cleaner/backend_change.rb', line 29 def current_backend materialized_path = find_src_path("#{@mod.cache_dir}/backend*") IO.read(materialized_path) if materialized_path end |
#fresh_backend ⇒ Object
34 35 36 37 |
# File 'lib/terraspace/compiler/cleaner/backend_change.rb', line 34 def fresh_backend src_path = find_src_path("#{Terraspace.root}/config/terraform/backend*") Terraspace::Compiler::Strategy::Mod.new(@mod, src_path).run if src_path end |
#purge ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/terraspace/compiler/cleaner/backend_change.rb', line 9 def purge return unless purge? cache_root = Terraspace::Util.pretty_path(Terraspace.cache_root) =" Backend change detected. Will remove \#{cache_root} for complete reinitialization\n WARN: If you are using local storage for state, this will remove it.\n Will remove \#{cache_root}\n EOL\n sure?(message.strip)\n logger.info \"Backend change detected. Removing \#{cache_root} for complete reinitialization\"\n FileUtils.rm_rf(Terraspace.cache_root)\nend\n" |
#purge? ⇒ Boolean
Whenever the backend is changed, purge the cache entirely
24 25 26 27 |
# File 'lib/terraspace/compiler/cleaner/backend_change.rb', line 24 def purge? return false unless current_backend current_backend != fresh_backend end |