class BranchableCDNAssets::Invalidator::AkamaiCCU

Constants

PURGE_PATH
PURGE_STATUS_PATH
STATUS_PATH

Public Instance Methods

invalidate_files(files) click to toggle source
# File lib/branchable_cdn_assets/invalidator/akamai_ccu.rb, line 15
def invalidate_files files
  url  = File.join( config.base_url, PURGE_PATH, config.queue_name )
  resp = HTTP.post( { access_token: config.access_token,
                      client_token: config.client_token,
                      secret_token: config.secret_token
                    }.merge(  url: url,
                              body: {
                                action: 'invalidate',
                                domain: config.domain,
                                objects: Array(files)
                              }))


  if resp.code.to_i == 201
    puts "Posted invalidation for #{files.count} files:"
  else
    puts "Invalidation failed:"
  end

  JSON.parse(resp.body).each do |k,v|
    puts "-> #{k}: #{v}"
  end
end
status(id=nil) click to toggle source

queue status or purge status

# File lib/branchable_cdn_assets/invalidator/akamai_ccu.rb, line 40
def status id=nil
  if id
    resp = HTTP.get({ access_token: config.access_token,
                      client_token: config.client_token,
                      secret_token: config.secret_token
                    }.merge(  url: File.join( config.base_url, PURGE_STATUS_PATH, id ) ))
  else
    resp =  HTTP.get({ access_token: config.access_token,
                       client_token: config.client_token,
                       secret_token: config.secret_token
                     }.merge(  url: File.join( config.base_url, STATUS_PATH, config.queue_name ) ))
  end

  puts "Status:"
  JSON.parse(resp.body).each do |k,v|
    puts "-> #{k}: #{v}"
  end
end