Class: Specinfra::HostInventory
- Inherits:
-
Object
- Object
- Specinfra::HostInventory
- Includes:
- Enumerable
- Defined in:
- lib/specinfra/host_inventory.rb,
lib/specinfra/host_inventory/cpu.rb,
lib/specinfra/host_inventory/ec2.rb,
lib/specinfra/host_inventory/base.rb,
lib/specinfra/host_inventory/fqdn.rb,
lib/specinfra/host_inventory/ohai.rb,
lib/specinfra/host_inventory/user.rb,
lib/specinfra/host_inventory/group.rb,
lib/specinfra/host_inventory/mount.rb,
lib/specinfra/host_inventory/domain.rb,
lib/specinfra/host_inventory/facter.rb,
lib/specinfra/host_inventory/kernel.rb,
lib/specinfra/host_inventory/memory.rb,
lib/specinfra/host_inventory/hostname.rb,
lib/specinfra/host_inventory/platform.rb,
lib/specinfra/host_inventory/filesystem.rb,
lib/specinfra/host_inventory/block_device.rb,
lib/specinfra/host_inventory/virtualization.rb,
lib/specinfra/host_inventory/platform_version.rb
Defined Under Namespace
Classes: Base, BlockDevice, Cpu, Domain, Ec2, Facter, Filesystem, Fqdn, Group, Hostname, Kernel, Memory, Mount, Ohai, Platform, PlatformVersion, User, Virtualization
Constant Summary collapse
- KEYS =
%w{ memory ec2 hostname domain fqdn platform platform_version filesystem cpu virtualization kernel block_device user group facter ohai mount }
Instance Attribute Summary collapse
-
#backend ⇒ Object
readonly
Returns the value of attribute backend.
Class Method Summary collapse
Instance Method Summary collapse
- #[](key) ⇒ Object
- #each ⇒ Object
- #each_key ⇒ Object
- #each_value ⇒ Object
-
#initialize(backend, inventory = {}) ⇒ HostInventory
constructor
A new instance of HostInventory.
Constructor Details
#initialize(backend, inventory = {}) ⇒ HostInventory
Returns a new instance of HostInventory.
32 33 34 35 |
# File 'lib/specinfra/host_inventory.rb', line 32 def initialize(backend, inventory = {}) @backend = backend @inventory = inventory end |
Instance Attribute Details
#backend ⇒ Object (readonly)
Returns the value of attribute backend.
25 26 27 |
# File 'lib/specinfra/host_inventory.rb', line 25 def backend @backend end |
Class Method Details
Instance Method Details
#[](key) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/specinfra/host_inventory.rb', line 37 def [](key) @inventory[key.to_sym] ||= {} if @inventory[key.to_sym].empty? begin inventory_class = Specinfra::HostInventory.const_get(key.to_s.to_camel_case) @inventory[key.to_sym] = inventory_class.new(self).get rescue @inventory[key.to_sym] = nil end end @inventory[key.to_sym] end |
#each ⇒ Object
50 51 52 53 54 |
# File 'lib/specinfra/host_inventory.rb', line 50 def each KEYS.each do |k| yield k, self[k] end end |