Sha256: dc9d4735828db578d9adfa0bd46bb96d4e3bdc0248ad518f7cc3f1b94910ac4b

Contents?: true

Size: 926 Bytes

Versions: 4

Compression:

Stored size: 926 Bytes

Contents

module Fog
  module Vcloud
    class Compute
      class Catalogs < Fog::Vcloud::Collection

        model Fog::Vcloud::Compute::Catalog

        def all
          data = connection.get_organization(organization_uri).body[:Link].select { |link| link[:type] == "application/vnd.vmware.vcloud.catalog+xml" }
          load(data)
        end

        def get(uri)
          if data = connection.get_catalog(uri)
            new(data.body)
          end
        rescue Fog::Errors::NotFound
          nil
        end

        def organization_uri
          @organization_uri ||= connection.default_organization_uri
        end

        def item_by_name(name)
          res = nil
          items = all.collect { |catalog| catalog.catalog_items }
          items.each do |i|
            i.collect do |ii|
              res = ii if ii.name == name
            end
          end
          res
        end

      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
brightbox-cli-0.13.1 lib/brightbox-cli/vendor/fog/lib/fog/compute/models/vcloud/catalogs.rb
brightbox-cli-0.13.0 lib/brightbox-cli/vendor/fog/lib/fog/compute/models/vcloud/catalogs.rb
fog-0.11.0 lib/fog/compute/models/vcloud/catalogs.rb
fog-0.10.0 lib/fog/compute/models/vcloud/catalogs.rb