module GClouder::Resource::Cleaner
Public Class Methods
included(klass)
click to toggle source
# File lib/gclouder/resource_cleaner.rb, line 6 def self.included(klass) klass.extend Cleaner end
Public Instance Methods
clean()
click to toggle source
# File lib/gclouder/resource_cleaner.rb, line 10 def clean return if undefined.empty? header :clean undefined.each do |namespace, resources| info namespace, indent: 2, heading: true info resources.each do |resource| message = resource['name'] message += " (not defined locally)" warning message # FIXME: enable purge on --purge flag.. #Resource.symlink.send(:purge, namespace, resource) end end end
cleaner()
click to toggle source
# File lib/gclouder/resource_cleaner.rb, line 39 def cleaner (self.const_defined?(:Cleaner) && self::Cleaner.respond_to?(:custom)) ? self::Cleaner.custom : Default.cleaner end
undefined()
click to toggle source
# File lib/gclouder/resource_cleaner.rb, line 43 def undefined self::Remote.list.each_with_object({}) do |(namespace, resources), collection| resources.each do |resource| namespace_resources = self::Local.list[namespace] # accept PROC for custom matching of undefined resources next if namespace_resources && cleaner.call(namespace_resources, resource["name"]) collection[namespace] ||= [] collection[namespace] << resource end end end