Sha256: e9e22a5588161af9d9d6d5cfe862bcf679ee8164b5858c3acba4c64b625ca9f2

Contents?: true

Size: 884 Bytes

Versions: 6

Compression:

Stored size: 884 Bytes

Contents

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

module Fog
  module VirtualBox
    class Compute

      class StorageControllers < Fog::Collection

        model Fog::VirtualBox::Compute::StorageController

        attr_accessor :machine

        def all
          requires :machine
          data = machine.instance_variable_get(:@raw).storage_controllers.map do |storage_controller|
            {:raw => storage_controller}
          end
          load(data)
        end

        def get(storage_controller_name)
          requires :machine
          all.detect do |storage_controller|
            storage_controller.name == storage_controller_name
          end
        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/storage_controllers.rb
fog-0.8.1 lib/fog/compute/models/virtual_box/storage_controllers.rb
fog-0.8.0 lib/fog/compute/models/virtual_box/storage_controllers.rb
fog-0.7.2 lib/fog/compute/models/virtual_box/storage_controllers.rb
fog-0.7.1 lib/fog/compute/models/virtual_box/storage_controllers.rb
fog-0.7.0 lib/fog/compute/models/virtual_box/storage_controllers.rb