class Acquia::Cloud::DatabaseBackup

Public Class Methods

new(cloud, site, environment, database, backup) click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 10
def initialize(cloud, site, environment, database, backup)
  @cloud = cloud
  @site = site
  @environment = environment
  @database = database
  @data = backup
  @url = "/sites/#{@site}/envs/#{@environment}/dbs/#{@database}/backups/#{data['id']}"
end

Public Instance Methods

checksum() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 23
def checksum
  data['checksum']
end
completed() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 43
def completed
  Time.at(data['completed'].to_i)
end
completed?() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 47
def completed?
  !data['completed'].to_i.zero?
end
deleted?() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 27
def deleted?
  data['deleted'] != '0'
end
download(&block) click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 78
def download(&block)
  download_to(File.basename(path), &block)
end
download_to(path, &block) click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 59
def download_to(path, &block)
  uri = URI.parse(link)

  File.open(path, 'wb') do |io|
    https = uri.scheme == 'https'
    Net::HTTP.start(uri.host, uri.port, use_ssl: https) do |http|
      request = Net::HTTP::Get.new uri
      request.basic_auth @cloud.api.credentials.email, @cloud.api.credentials.key

      http.request request do |response|
        response.read_body do |chunk|
          io.write chunk
          block.call(response, chunk) if block_given?
        end
      end
    end
  end
end
id() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 19
def id
  data['id']
end
name() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 31
def name
  data['name']
end
path() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 35
def path
  data['path']
end
started() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 39
def started
  Time.at(data['started'].to_i)
end
type() click to toggle source
# File lib/acquia/cloud/database_backup.rb, line 51
def type
  data['type'].to_sym
end