Class: Specinfra::HostInventory
- Inherits:
-
Object
- Object
- Specinfra::HostInventory
show all
- 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
Class Method Summary
collapse
Instance Method Summary
collapse
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
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 ⇒ Object
27
28
29
30
|
# File 'lib/specinfra/host_inventory.rb', line 27
def self.instance
property[:host_inventory] ||= {}
self.new(Specinfra.backend, property[:host_inventory])
end
|
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
|
#each_key ⇒ Object
56
57
58
59
60
|
# File 'lib/specinfra/host_inventory.rb', line 56
def each_key
KEYS.each do |k|
yield k
end
end
|
#each_value ⇒ Object
62
63
64
65
66
|
# File 'lib/specinfra/host_inventory.rb', line 62
def each_value
KEYS.each do |k|
yield self[k]
end
end
|