Sha256: 2e4be35f072cf6e4b15103234388e42dc9452df10c2edf241473f073fbf50b13

Contents?: true

Size: 898 Bytes

Versions: 1

Compression:

Stored size: 898 Bytes

Contents

module GitCompound
  module Command
    module Procedure
      # BuildLock procedure class
      #
      class BuildLock < Procedure
        include Element::Manifest
        include Element::Lock
        include Element::Subprocedure

        add_subprocedure :tasks_runner, Tasks

        def execute
          Logger.info 'Building components from lockfile ...'

          verify_manifest
          build_locked_components
          execute_tasks
        end

        private

        def verify_manifest
          return if @manifest.md5sum == @lock.manifest

          raise GitCompoundError,
                'Manifest md5sum has changed ! Use `update` command.'
        end

        def build_locked_components
          @lock.process(Worker::ComponentDispatcher.new(@lock))
        end

        def execute_tasks
          subprocedure(:tasks_runner)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
git_compound-0.2.0 lib/git_compound/command/procedure/build_lock.rb