Sha256: 5741aeff3b42c5dd67fe5be2e367db1fb14e5ddc008a63942fa3b64360eaa36e

Contents?: true

Size: 1.03 KB

Versions: 7

Compression:

Stored size: 1.03 KB

Contents

module ProfitBricks
  # Image class
  class Image < ProfitBricks::Model

    # Delete the image.
    def delete
      ProfitBricks.request(
        method: :delete,
        path: "/images/#{self.id}",
        expects: 202
      )
    end

    # Update the image.
    def update(options = {})
      response = ProfitBricks.request(
        method: :patch,
        path: "/images/#{self.id}",
        expects: 202,
        body: options.to_json
      )
      if response
        @properties = @properties.merge(response['properties'])
      end
      self
    end

    class << self

      # List all images.
      def list
        response = ProfitBricks.request(
          method: :get,
          path: '/images',
          expects: 200
        )
        instantiate_objects(response)
      end

      # Retrieve an image.
      def get(image_id)
        response = ProfitBricks.request(
          method: :get,
          path: "/images/#{image_id}",
          expects: 200
        )
        instantiate_objects(response)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
profitbricks-sdk-ruby-3.0.1 lib/profitbricks/image.rb
profitbricks-sdk-ruby-3.0.0 lib/profitbricks/image.rb
profitbricks-sdk-ruby-1.1.0 lib/profitbricks/image.rb
profitbricks-sdk-ruby-1.0.5 lib/profitbricks/image.rb
profitbricks-sdk-ruby-1.0.4 lib/profitbricks/image.rb
profitbricks-sdk-ruby-1.0.3 lib/profitbricks/image.rb
profitbricks-sdk-ruby-1.0.2 lib/profitbricks/image.rb