Class: NovaDsl::NovaVmsContainer
- Inherits:
-
Object
- Object
- NovaDsl::NovaVmsContainer
- Defined in:
- lib/nova/utils/nova_vm.rb
Instance Attribute Summary collapse
-
#vms ⇒ Object
Returns the value of attribute vms.
Instance Method Summary collapse
- #<<(vm) ⇒ Object
- #[](index) ⇒ Object
- #find_by_id(id) ⇒ Object
- #find_by_ip(ip) ⇒ Object
- #find_by_name(name) ⇒ Object
- #find_by_status(status) ⇒ Object
-
#initialize(vms_array = []) ⇒ NovaVmsContainer
constructor
A new instance of NovaVmsContainer.
- #merge(container) ⇒ Object
- #merge!(container) ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize(vms_array = []) ⇒ NovaVmsContainer
Returns a new instance of NovaVmsContainer.
34 35 36 37 38 |
# File 'lib/nova/utils/nova_vm.rb', line 34 def initialize(vms_array = []) Common::type_checker vms_array, Array vms_array.each { |v| Common::type_checker v, NovaDsl::NovaVm } @vms = vms_array end |
Instance Attribute Details
#vms ⇒ Object
Returns the value of attribute vms.
32 33 34 |
# File 'lib/nova/utils/nova_vm.rb', line 32 def vms @vms end |
Instance Method Details
#<<(vm) ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/nova/utils/nova_vm.rb', line 45 def <<(vm) if vm.is_a? NovaDsl::NovaVm; @vms << vm end if vm.is_a? Array; @vms += vm end end |
#[](index) ⇒ Object
40 41 42 43 |
# File 'lib/nova/utils/nova_vm.rb', line 40 def [](index) raise IndexError("Index #{index} is too large ") unless index < @vms.size @vms[index] end |
#find_by_id(id) ⇒ Object
69 70 71 72 |
# File 'lib/nova/utils/nova_vm.rb', line 69 def find_by_id(id) Common::type_checker id, Fixnum @vms.select { |v| v.id.eql?(id) } end |
#find_by_ip(ip) ⇒ Object
74 75 76 77 |
# File 'lib/nova/utils/nova_vm.rb', line 74 def find_by_ip(ip) Common::type_checker ip, Fixnum @vms.select { |v| v.ip.eql?(ip) } end |
#find_by_name(name) ⇒ Object
79 80 81 82 |
# File 'lib/nova/utils/nova_vm.rb', line 79 def find_by_name(name) Common::type_checker name, String @vms.select { |v| v.name.eql?(name) } end |
#find_by_status(status) ⇒ Object
84 85 86 87 |
# File 'lib/nova/utils/nova_vm.rb', line 84 def find_by_status(status) Common::type_checker status, String @vms.select { |v| v.status.eql?(status) } end |
#merge(container) ⇒ Object
60 61 62 63 |
# File 'lib/nova/utils/nova_vm.rb', line 60 def merge(container) Common::type_checker container, NovaVmsContainer NovaVmsContainer.new( @vms|container.vms ) end |
#merge!(container) ⇒ Object
54 55 56 57 58 |
# File 'lib/nova/utils/nova_vm.rb', line 54 def merge!(container) Common::type_checker container, NovaVmsContainer @vms |= container.vms self end |
#size ⇒ Object
65 66 67 |
# File 'lib/nova/utils/nova_vm.rb', line 65 def size @vms.size end |