class Fog::Ecloud::MockDataClasses::MockVirtualMachineDisks

Public Class Methods

new(parent = nil) click to toggle source
# File lib/fog/ecloud/mock_data_classes.rb, line 540
def initialize(parent = nil)
  @parent = parent
end

Public Instance Methods

<<(disk) click to toggle source
Calls superclass method
# File lib/fog/ecloud/mock_data_classes.rb, line 548
def <<(disk)
  next_address = 0
  disk_with_max_address = max {|a, b| a[:address] <=> b[:address] }
  disk_with_max_address && next_address = disk_with_max_address.address + 1
  disk[:address] ||= next_address

  super(disk)

  if (addresses = map {|d| d.address }).uniq.size != size
    raise "Duplicate disk address in: #{addresses.inspect} (#{size})"
  end

  sort! {|a, b| a.address <=> b.address }
  self
end
_parent() click to toggle source
# File lib/fog/ecloud/mock_data_classes.rb, line 544
def _parent
  @parent
end
at_address(address) click to toggle source
# File lib/fog/ecloud/mock_data_classes.rb, line 564
def at_address(address)
  find {|d| d.address == address }
end