Class: Ey::Core::Client::Addon

Inherits:
Model
  • Object
show all
Extended by:
Associations
Defined in:
lib/vendor/core/ey-core/models/addon.rb

Instance Method Summary collapse

Methods included from Associations

assoc_accessor, assoc_coverage, assoc_reader, assoc_writer, associations, collection_reader

Methods inherited from Model

#destroy, range_parser, #save, #update!, #url

Instance Method Details

#attach!(key, app, env) ⇒ Object



41
42
43
# File 'lib/vendor/core/ey-core/models/addon.rb', line 41

def attach!(key, app, env)
  self.attachments.create!("key" => key, "app_id" => app.id, "environment_id" => env.id)
end

#destroy!Object



36
37
38
39
# File 'lib/vendor/core/ey-core/models/addon.rb', line 36

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

#resource_urlObject



15
16
17
# File 'lib/vendor/core/ey-core/models/addon.rb', line 15

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

#save!Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/vendor/core/ey-core/models/addon.rb', line 19

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