Sha256: d7d78091c5141d1d9204ebcd3a63bbc7a36c7399b62183159f29e7e2860fda3a

Contents?: true

Size: 1.34 KB

Versions: 8

Compression:

Stored size: 1.34 KB

Contents

module Mina
  module Helpers
    module Internal
      include Helpers::Output

      def deploy_script
        yield
        erb Mina.root_path(fetch(:deploy_script))
      end

      def erb(file, b = binding)
        require 'erb'
        erb = ERB.new(File.read(file))
        erb.result b
      end

      def echo_cmd(code, ignore_verbose = false)
        if fetch(:verbose) && !ignore_verbose
          "echo #{Shellwords.escape('$ ' + code)} &&\n#{code}"
        else
          code
        end
      end

      def indent(count, str)
        str.gsub(/^/, ' ' * count)
      end

      def unindent(code)
        if code =~ /^\n([ \t]+)/
          code = code.gsub(/^#{$1}/, '')
        end

        code.strip
      end

      def report_time
        time_start = Time.now
        output = yield
        print_info "Elapsed time: %.2f seconds" % [Time.now - time_start]
        output
      end

      def next_version
        case fetch(:version_scheme)
        when :datetime
          Time.now.utc.strftime("%Y%m%d%H%M%S")
        when :sequence
          "$((`ls -1 #{fetch(:releases_path)} | sort -n | tail -n 1`+1))"
        else
          error! 'Unrecognizes version scheme. Use :datetime or :sequence'
        end
      end

      def error!(message)
        print_error message
        exit 1
      end
    end
  end
end
extend Mina::Helpers::Internal

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mina-1.0.7 lib/mina/helpers/internal.rb
mina-1.0.6 lib/mina/helpers/internal.rb
mina-1.0.5 lib/mina/helpers/internal.rb
mina-1.0.4 lib/mina/helpers/internal.rb
mina-1.0.3 lib/mina/helpers/internal.rb
mina-1.0.2 lib/mina/helpers/internal.rb
mina-1.0.0 lib/mina/helpers/internal.rb
mina-1.0.0.rc2 lib/mina/helpers/internal.rb