class Caravan::Deploy::Base

Attributes

debug[RW]
dst[R]
src[R]

Public Class Methods

new(src, dst) click to toggle source
# File lib/caravan/deploy.rb, line 27
def initialize(src, dst)
  Message.info("Creating #{self.class.name}...")
  @src = src
  @dst = dst
  @debug = false
end

Public Instance Methods

after_change() { |modified, added, removed| ... } click to toggle source
# File lib/caravan/deploy.rb, line 54
def after_change
  @modified.each do |change|
    Caravan::Message.info("#{change} was changed.")
  end

  @added.each do |change|
    Caravan::Message.info("#{change} was created.")
  end

  @removed.each do |change|
    Caravan::Message.info("#{change} was removed.")
  end

  if block_given?
    ret_val = yield @modified, @added, @removed
    debug_msg("Block `after_change` returned #{ret_val}")
    false if ret_val == false
  end

  true
end
after_create() { || ... } click to toggle source
# File lib/caravan/deploy.rb, line 42
def after_create
  Message.info("#{self.class.name} is created.")

  if block_given?
    ret_val = yield
    debug_msg("Block `after_create` returned #{ret_val}")
    false if ret_val == false
  end

  true
end
after_deploy() { || ... } click to toggle source
# File lib/caravan/deploy.rb, line 100
def after_deploy
  if block_given?
    ret_val = yield
    debug_msg("Block `after_deploy` returned #{ret_val}")
    false if ret_val == false
  end

  true
end
before_deploy() { || ... } click to toggle source
# File lib/caravan/deploy.rb, line 76
def before_deploy
  if block_given?
    ret_val = yield
    debug_msg("Block `before_deploy` returned #{ret_val}")
    false if ret_val == false
  end

  true
end
before_destroy() { || ... } click to toggle source
# File lib/caravan/deploy.rb, line 110
def before_destroy
  if block_given?
    ret_val = yield
    debug_msg("Block `before_destroy` returned #{ret_val}")
    false if ret_val == false
  end

  true
end
handle_change(modified, added, removed) click to toggle source
# File lib/caravan/deploy.rb, line 34
def handle_change(modified, added, removed)
  @modified = modified
  @added = added
  @removed = removed

  after_change
end
relative_path(path) click to toggle source
# File lib/caravan/deploy.rb, line 120
def relative_path(path)
  working_dir = Dir.pwd
  path_routes = path.split(working_dir)
  return nil if path_routes.nil? ||
                path_routes.empty? ||
                path_routes.size < 2

  path_routes[-1]
end
run() { |src, dst| ... } click to toggle source
# File lib/caravan/deploy.rb, line 86
def run
  time_str = Time.now.strftime("%H:%M:%S").green
  Message.info("#{time_str} Deploying #{src} to #{dst}...")

  status = 0
  if block_given?
    status, _output = yield src, dst
    debug_msg("Block `run` returned #{status}")
  end

  Message.error("Deploying block returned false") unless status.zero?
  status
end

Private Instance Methods

debug_msg(msg) click to toggle source
# File lib/caravan/deploy.rb, line 132
def debug_msg(msg)
  Caravan::Message.debug(msg) if @debug
end