class Ey::Core::Client::Address

Public Instance Methods

attach(server) click to toggle source
# File lib/ey-core/models/address.rb, line 24
def attach(server)
  params = {
    "id"     => self.identity,
    "server" => server.identity,
  }

  self.connection.requests.new(self.connection.attach_address(params).body["request"])
end
detach() click to toggle source
# File lib/ey-core/models/address.rb, line 16
def detach
  params = {
    "id" => self.identity,
  }

  self.connection.requests.new(self.connection.detach_address(params).body["request"])
end
save!() click to toggle source
# File lib/ey-core/models/address.rb, line 33
def save!
  if new_record?
    requires :provider_id, :location

    params = {
      "provider" => self.provider_id,
      "address"  => {
        "location"       => self.location,
        "scope"          => self.scope,
      },
    }

    self.connection.requests.new(self.connection.create_address(params).body["request"])
  else
    requires :identity

    params = {
      "id" => self.identity,
      "address" => {
        "disappeared_at" => self.disappeared_at,
      }
    }

    merge_attributes(self.connection.update_address(params).body["address"])
  end
end