module Terraspace::Plugin::Helper::Interface
Public Instance Methods
cache_helper(meth)
click to toggle source
This method is useful to avoid double call of heavy processing logic for tfvars, since the tfvars files get evaluated twice. Note: Not setting any cache or doing any logic unless resolved.
# File lib/terraspace/plugin/helper/interface.rb, line 15 def cache_helper(meth) uncached_meth = "uncached_#{meth}" alias_method(uncached_meth, meth) define_method(meth) do |*args| return unless resolved? # return nil in first unresolved pass id = Marshal.dump([meth] + args) exist = @@helper_cache.key?(id) if exist @@helper_cache[id] else @@helper_cache[id] = send(uncached_meth, *args) end end end
resolved?()
click to toggle source
Useful for plugin helpers. Can check this only run logic after dependency resolution.
# File lib/terraspace/plugin/helper/interface.rb, line 6 def resolved? !!@mod.resolved end