Sha256: d4e4fa7053790dbcb4cbd627f45407f3dc8ce7893cebd5b42d202bfd12c79aac

Contents?: true

Size: 1.22 KB

Versions: 5

Compression:

Stored size: 1.22 KB

Contents

module Vx
  module Builder
    class ScriptBuilder

      Base = Struct.new(:app) do

        include Helper::TraceShCommand

        def do_cache_key(env)
          yield env.cache_key
        end

        def do_script(env)
          if env.source.script.empty? && !env.source.deploy_modules?
            yield env.script
          end
        end

        def do_cached_directories(env)
          if env.source.cached_directories != false
            yield env.cached_directories
          end
        end

        def do_announce(env)
          yield env.announce
        end

        def do_before_install(env)
          yield env.before_install
        end

        def do_install(env)
          if env.source.install.empty?
            yield env.install
          end
        end

        def do_deploy_script(env)
          if deploy?(env)
            yield env.script
          end
        end

        def do_before_deploy(env)
          if deploy?(env)
            yield env.before_script
          end
        end

        def do_after_deploy(env)
          if deploy?(env)
            yield env.after_success
          end
        end

        def deploy?(env)
          env.source.deploy_modules?
        end

      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
vx-builder-0.4.0 lib/vx/builder/script_builder/base.rb
vx-builder-0.3.14 lib/vx/builder/script_builder/base.rb
vx-builder-0.3.13 lib/vx/builder/script_builder/base.rb
vx-builder-0.3.12 lib/vx/builder/script_builder/base.rb
vx-builder-0.3.11 lib/vx/builder/script_builder/base.rb