lib/mina/helpers/internal.rb in mina-1.0.0.beta1 vs lib/mina/helpers/internal.rb in mina-1.0.0.beta2
- old
+ new
@@ -1,8 +1,10 @@
module Mina
module Helpers
module Internal
+ extend Configuration::DSL
+
def deploy_script
yield
erb Mina.root_path(fetch(:deploy_script))
end
@@ -11,18 +13,36 @@
erb = ERB.new(File.read(file))
erb.result b
end
def echo_cmd(code, ignore_verbose = false)
- if Mina::Configuration.instance.fetch(:verbose) && !ignore_verbose
+ if fetch(:verbose) && !ignore_verbose
"echo #{Shellwords.escape('$ ' + code)} &&\n#{code}"
else
code
end
end
def indent(count, str)
str.gsub(/^/, ' ' * count)
+ end
+
+ def report_time
+ time_start = Time.now
+ output = yield
+ puts "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
+ fail 'Unrecognizes version scheme. Use :datetime or :sequence'
+ end
end
end
end
end
extend Mina::Helpers::Internal