class Loom::Facts::Provider
Attributes
fact_map[R]
TODO: add documentation re: use of namespace in fact_set.rb
namespace[R]
TODO: add documentation re: use of namespace in fact_set.rb
Public Class Methods
create_fact_providers(host_spec, shell, loom_config)
click to toggle source
# File lib/loom/facts/provider.rb, line 31 def create_fact_providers(host_spec, shell, loom_config) @provider_factories.map do |block| block.call(host_spec, shell, loom_config) end.flatten end
disable_for_host(host_spec, klass)
click to toggle source
# File lib/loom/facts/provider.rb, line 12 def disable_for_host(host_spec, klass) Loom.log.warn "disabling fact provider => #{klass} on #{host_spec.hostname}" @disabled_providers ||= {} @disabled_providers[host_spec.hostname] ||= [] @disabled_providers[host_spec.hostname] << klass end
disabled_for_host?(host_spec, klass)
click to toggle source
# File lib/loom/facts/provider.rb, line 19 def disabled_for_host?(host_spec, klass) @disabled_providers ||= {} @disabled_providers[host_spec.hostname] ||= [] @disabled_providers[host_spec.hostname].include? klass end
register_factory(klass, &block)
click to toggle source
# File lib/loom/facts/provider.rb, line 25 def register_factory(klass, &block) @provider_factories ||= [] @provider_factories << block Loom.log.debug1(self) { "registered fact provider => #{klass}" } end
Public Instance Methods
collect_facts()
click to toggle source
Should return a Hash of fact_name => fact_value entries
# File lib/loom/facts/provider.rb, line 43 def collect_facts raise 'not implemented' end
disable(host_spec)
click to toggle source
# File lib/loom/facts/provider.rb, line 38 def disable(host_spec) Provider.disable_for_host host_spec, self.class end