Sha256: 414cb8e2242aefc4059def0248f8eba30dc1b67fd27059493ad02063b5673161

Contents?: true

Size: 781 Bytes

Versions: 39

Compression:

Stored size: 781 Bytes

Contents

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

  identity :id, type: :integer

  attribute :vars
  attribute :name
  attribute :sso_url

  has_one  :account

  def resource_url
    "#{collection.url}/#{id}"
  end

  def save!
    params = {
      "addon" => {
        "name" => self.name,
        "vars" => self.vars,
        "sso_url" => self.sso_url,
      },
    }
    if new_record?
      params["url"] = self.collection.url
      merge_attributes(self.connection.create_addon(params).body["addon"])
    else # update
      params["url"] = self.resource_url
      merge_attributes(self.connection.update_addon(params).body["addon"])
    end
  end

  def destroy!
    self.connection.destroy_addon("url" => self.resource_url)
    nil
  end
end

Version data entries

39 entries across 39 versions & 2 rubygems

Version Path
ey-core-3.6.0.autoscaling1 lib/ey-core/models/addon.rb
ey-core-3.6.4 lib/ey-core/models/addon.rb
ey-core-3.6.3 lib/ey-core/models/addon.rb
ey-core-3.6.1 lib/ey-core/models/addon.rb
groove-ey-core-3.6.3 lib/ey-core/models/addon.rb
groove-ey-core-3.6.2 lib/ey-core/models/addon.rb
groove-ey-core-3.6.1 lib/ey-core/models/addon.rb
ey-core-3.5.0 lib/ey-core/models/addon.rb
ey-core-3.4.4 lib/ey-core/models/addon.rb
ey-core-3.4.2 lib/ey-core/models/addon.rb
ey-core-3.4.1 lib/ey-core/models/addon.rb
ey-core-3.4.0 lib/ey-core/models/addon.rb
ey-core-3.3.1 lib/ey-core/models/addon.rb
ey-core-3.3.0 lib/ey-core/models/addon.rb
ey-core-3.2.6 lib/ey-core/models/addon.rb
ey-core-3.2.5 lib/ey-core/models/addon.rb
ey-core-3.2.4 lib/ey-core/models/addon.rb
ey-core-3.2.3 lib/ey-core/models/addon.rb
ey-core-3.2.2 lib/ey-core/models/addon.rb
ey-core-3.2.1 lib/ey-core/models/addon.rb