class GitCompound::Worker::ComponentBuilder

Worker that builds components

Public Class Methods

new(lock = nil) click to toggle source
# File lib/git_compound/worker/component_builder.rb, line 6
def initialize(lock = nil)
  @lock  = lock
  @print = PrettyPrint.new
end

Public Instance Methods

visit_component(component) click to toggle source
# File lib/git_compound/worker/component_builder.rb, line 11
def visit_component(component)
  raise GitCompoundError,
        "Destination directory `#{component.path}` " \
        'already exists !' if component.exists?

  Logger.inline 'Building:  '
  @print.visit_component(component)

  component.build!

  raise GitCompoundError,
        "Destination  `#{component.path}` " \
        'verification failed !' unless component.exists?

  return unless @lock
  @lock.lock_component(component) unless @lock.find(component)
end