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