# File lib/pgbackups/client.rb, line 7 def initialize(uri) @uri = URI.parse(uri) end
# File lib/pgbackups/client.rb, line 11 def authenticated_resource(path) host = "#{@uri.scheme}://#{@uri.host}" host += ":#{@uri.port}" if @uri.port RestClient::Resource.new("#{host}#{path}", :user => @uri.user, :password => @uri.password, :headers => {:x_heroku_gem_version => Heroku::Client.version} ) end
# File lib/pgbackups/client.rb, line 21 def create_transfer(from_url, from_name, to_url, to_name, opts={}) # opts[:expire] => true will delete the oldest backup if at the plan limit resource = authenticated_resource("/client/transfers") params = {:from_url => from_url, :from_name => from_name, :to_url => to_url, :to_name => to_name}.merge opts json_decode post(resource, params).body end
# File lib/pgbackups/client.rb, line 54 def delete_backup(name) name = URI.escape(name) begin resource = authenticated_resource("/client/backups/#{name}") delete(resource).body true rescue RestClient::ResourceNotFound => e false end end
# File lib/pgbackups/client.rb, line 43 def get_backup(name, opts={}) name = URI.escape(name) resource = authenticated_resource("/client/backups/#{name}") json_decode get(resource).body end
# File lib/pgbackups/client.rb, line 38 def get_backups(opts={}) resource = authenticated_resource("/client/backups") json_decode get(resource).body end
# File lib/pgbackups/client.rb, line 49 def get_latest_backup resource = authenticated_resource("/client/latest_backup") json_decode get(resource).body end
# File lib/pgbackups/client.rb, line 33 def get_transfer(id) resource = authenticated_resource("/client/transfers/#{id}") json_decode get(resource).body end
# File lib/pgbackups/client.rb, line 28 def get_transfers resource = authenticated_resource("/client/transfers") json_decode get(resource).body end