class CPEE::DeleteInstance

Public Instance Methods

response() click to toggle source
# File lib/cpee/implementation.rb, line 374
def response
  opts = @a[0]
  redis = opts[:redis]
  id = @r[0].to_i
  unless CPEE::Persistence::exists?(id,opts)
    @status = 404
    return
  end

  content = {
    :state => 'purged',
    :attributes => CPEE::Persistence::extract_list(id,opts,'attributes').to_h
  }
  state = CPEE::Persistence::extract_item(id,opts,'state')
  if state == 'stopped' || state == 'ready'
    CPEE::Message::send(:event,'state/change',File.join(opts[:url],'/'),id,content[:attributes]['uuid'],content[:attributes]['info'],content,redis)
  end

  empt = CPEE::Persistence::keys(id,opts).to_a
  redis.multi do |multi|
    empt.each do |e|
      multi.expire e, 30
    end
    multi.zrem 'instances', id
  end
end