Sha256: 354ab274026b9c3d642a5260e62665e6160f205543155ed903a209241e6e292c

Contents?: true

Size: 799 Bytes

Versions: 4

Compression:

Stored size: 799 Bytes

Contents

module Perkins
  module Build
    class Script
      module Helpers
        Shell::Dsl.instance_methods(false).each do |name|
          define_method(name) do |*args, &block|
            options = args.last if args.last.is_a?(Hash)
            sh.send(name, *args, &stacking(&block)) unless sh.blank?
          end
        end

        def sh
          stack.last
        end

        def failure(message)
          echo message
          raw 'false'
        end

        def stacking
          ->(sh) {
            stack.push(sh)
            yield(sh) if block_given?
            stack.pop
          }
        end

        def before_install
          puts "before install"
        end

        def announce?(stage)
          stage && stage != :after_result
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
perkins-0.0.5 lib/perkins/build/script/helpers.rb
perkins-0.0.3 lib/perkins/build/script/helpers.rb
perkins-0.0.2 lib/perkins/build/script/helpers.rb
perkins-0.0.1 lib/perkins/build/script/helpers.rb