module Astrails module Safe class Pgdump < Source def command if @config["password"] ENV['PGPASSWORD'] = @config["password"] else ENV['PGPASSWORD'] = nil end "pg_dump #{postgres_options} #{postgres_username} #{postgres_host} #{postgres_port} #{@id}" end def extension; '.sql'; end protected def postgres_options @config[:options] end def postgres_host @config["host"] && "--host='#{@config["host"]}'" end def postgres_port @config["port"] && "--port='#{@config["port"]}'" end def postgres_username @config["user"] && "--username='#{@config["user"]}'" end end end end