Sha256: f924032506117e4ca223c2a1898329b6eb153215c258a037433f6983bf878c51

Contents?: true

Size: 1.02 KB

Versions: 6

Compression:

Stored size: 1.02 KB

Contents

require 'fog/core/collection'
require 'fog/compute/models/virtual_box/network_adapter'

module Fog
  module VirtualBox
    class Compute

      class NetworkAdapters < Fog::Collection

        model Fog::VirtualBox::Compute::NetworkAdapter

        attr_accessor :machine

        def all
          requires :machine
          data = []
          raw_machine = machine.instance_variable_get(:@raw)
          connection.system_properties.network_adapter_count.times do |index|
            data << {
              :raw  => raw_machine.get_network_adapter(index)
            }
          end
          load(data)
        end

        def get(network_adapter_slot)
          requires :machine
          raw_machine = machine.instance_variable_get(:@raw)
          network_adapter = raw_machine.get_network_adapter(network_adapter_slot)
          new(:raw => network_adapter)
        end

        def new(attributes = {})
          requires :machine
          super({ :machine => machine }.merge!(attributes))
        end

      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fog-0.8.2 lib/fog/compute/models/virtual_box/network_adapters.rb
fog-0.8.1 lib/fog/compute/models/virtual_box/network_adapters.rb
fog-0.8.0 lib/fog/compute/models/virtual_box/network_adapters.rb
fog-0.7.2 lib/fog/compute/models/virtual_box/network_adapters.rb
fog-0.7.1 lib/fog/compute/models/virtual_box/network_adapters.rb
fog-0.7.0 lib/fog/compute/models/virtual_box/network_adapters.rb