Sha256: 728df6be141c5e6a0b213d62715f917477fb4fe414c021f15e2eb6a810fb26a0
Contents?: true
Size: 1.15 KB
Versions: 4
Compression:
Stored size: 1.15 KB
Contents
module Mina class Commands extend Forwardable include Helpers::Internal include Configuration::DSL attr_reader :queue attr_accessor :stage def initialize(stage = :default) @stage = stage @queue = Hash.new { |hash, key| hash[key] = [] } end def command(code, strip: true, quiet: false, indent: nil) code = unindent(code) if strip code = indent(indent, code) if indent queue[stage] << (quiet ? code : echo_cmd(code)) end def comment(code, indent: nil) if indent queue[stage] << indent(indent, %{echo "-----> #{code}"}) else queue[stage] << %{echo "-----> #{code}"} end end def delete(stage) queue.delete(stage) || [] end def process(path = nil) if path queue[stage].unshift(%{echo "$ cd #{path}"}) if fetch(:verbose) %{(cd #{path} && #{queue[stage].join(' && ')})} else queue[stage].join("\n") end end def run(backend) return if queue.empty? report_time do status = Mina::Runner.new(process, backend).run error! 'Run Error' unless status end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mina-1.0.3 | lib/mina/commands.rb |
mina-1.0.2 | lib/mina/commands.rb |
mina-1.0.0 | lib/mina/commands.rb |
mina-1.0.0.rc2 | lib/mina/commands.rb |