Sha256: b9aef2d7c7a80d4e4e2e9bdc25bc3e4417c362d1f50029fe2eae3468879acb84

Contents?: true

Size: 868 Bytes

Versions: 3

Compression:

Stored size: 868 Bytes

Contents

class Ey::Core::Client::Storage < Ey::Core::Model
  extend Ey::Core::Associations

  identity :id

  attribute :name
  attribute :location
  attribute :provisioned_id

  attribute :created_at, type: :time
  attribute :deleted_at, type: :time

  has_one :provider

  has_many :storage_users, aliases: "users"

  def save!
    requires :provider_id, :name, :location

    params = {
        "url" => self.collection.url,
        "provider" => self.provider_id,
        "storage" => {
          "location" => self.location,
          "name" => self.name
        },
    }

    if new_record?
      self.connection.requests.new(self.connection.create_storage(params).body["request"])
    else raise NotImplementedError
    end
  end

  def destroy!
    connection.requests.new(connection.destroy_storage(id).body["request"])
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ey-core-3.6.6 lib/ey-core/models/storage.rb
ey-core-3.4.5 lib/ey-core/models/storage.rb
ey-core-3.6.5 lib/ey-core/models/storage.rb