class PgBundle::BaseSource
The BaseSource
class defines an Extension
source like PathSource
or GithubSource
it defines how to get the code and run make install on a given host (e.g. database server)
Attributes
path[RW]
Public Class Methods
new(path)
click to toggle source
# File lib/pgbundle/base_source.rb, line 8 def initialize(path) @path = path end
Public Instance Methods
clean()
click to toggle source
# File lib/pgbundle/base_source.rb, line 16 def clean fail NotImplementedError end
load(host, user, dest)
click to toggle source
# File lib/pgbundle/base_source.rb, line 12 def load(host, user, dest) fail NotImplementedError end
Private Instance Methods
copy_local(source, dest)
click to toggle source
# File lib/pgbundle/base_source.rb, line 22 def copy_local(source, dest) FileUtils.cp_r source, dest FileUtils.chmod_R(0777, dest) end
copy_to_remote(host, user, source, dest)
click to toggle source
# File lib/pgbundle/base_source.rb, line 27 def copy_to_remote(host, user, source, dest) Net::SCP.start(host, user) do |scp| scp.upload(source, dest, recursive: true) end end