Sha256: b5c8dbd7ca886e6943d6dd72161444fea87b1f1b8cc9a04b8e08122102b475f4
Contents?: true
Size: 894 Bytes
Versions: 1
Compression:
Stored size: 894 Bytes
Contents
require "heroku/client" class Heroku::Client::PgbackupsArchive attr_reader :client, :backup def initialize(attrs={}) Heroku::Command.load @client = Heroku::Client::Pgbackups.new attrs[:pgbackups_url] @backup = nil @environment = attrs[:env] || (defined?(Rails) ? Rails.env : nil) end def capture @backup = @client.create_transfer database_url, database_url, nil, "BACKUP", :expire => true until @backup["finished_at"] print "." sleep 1 @backup = @client.get_transfer @backup["id"] end @backup end def database_url ENV["PGBACKUPS_DATABASE_URL"] || ENV["DATABASE_URL"] end def file open @backup["public_url"] end def key ["pgbackups", @environment, @backup["finished_at"].gsub(/\/|\:|\.|\s/, "-").concat(".dump")].join("/") end def store PgbackupsArchive::Storage.new(key, file).store end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pgbackups-archive-0.1.0 | lib/pgbackups-archive/heroku/client/pgbackups_archive.rb |