Sha256: 44c40377a39ef17075b2ac34dbad738d1dc3097b04706ab7e8bfbb88a79990b3

Contents?: true

Size: 803 Bytes

Versions: 3

Compression:

Stored size: 803 Bytes

Contents

module Vx
  module Builder
    class Script

      class Deploy < Base

        def call(env)
          if enabled?(env)
            env.source.deploy.providers.each do |provider|
              if provider.shell?
                deploy_using_shell(env, provider)
              end
            end
          end

          do_before_deploy(env) do |i|
            i += env.source.before_deploy
          end

          app.call(env)
        end

        private

          def enabled?(env)
            env.task.deploy? && env.source.deploy?
          end

          def deploy_using_shell(env, provider)
            do_deploy(env) do |i|
              provider.command.each do |cmd|
                i << trace_sh_command(cmd)
              end
            end
          end

      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vx-builder-0.2.2 lib/vx/builder/script/deploy.rb
vx-builder-0.2.1 lib/vx/builder/script/deploy.rb
vx-builder-0.2.0 lib/vx/builder/script/deploy.rb