module Rfix::Rake::Support
Public Class Methods
extended(base)
click to toggle source
Calls superclass method
# File lib/rfix/rake/support.rb, line 14 def self.extended(base) super utils = Utils.new %i[cd sh rm_rf rm_f rm mkdir_p chdir].each do |name| base.define_singleton_method("_#{name}".to_sym, &utils.method(name)) end end
Public Instance Methods
cd(*args, &block)
click to toggle source
# File lib/rfix/rake/support.rb, line 57 def cd(*args, &block) colorize :cd, args _cd(*args, &block) end
chdir(*args, &block)
click to toggle source
# File lib/rfix/rake/support.rb, line 42 def chdir(*args, &block) colorize :cd, args _chdir(*args, &block) end
clone_and_run(&block)
click to toggle source
# File lib/rfix/rake/support.rb, line 67 def clone_and_run(&block) Dir.mktmpdir do |repo| sh "git clone", Bundle::Complex::FILE, repo, "--branch", "master" Dir.chdir(repo) { block.call(repo) } end end
directory(*args)
click to toggle source
# File lib/rfix/rake/support.rb, line 32 def directory(*args) mkdir_p args end
gemfiles()
click to toggle source
# File lib/rfix/rake/support.rb, line 24 def gemfiles Dir["Gemfile*", "ci/Gemfile*"] end
mkdir_p(*args)
click to toggle source
# File lib/rfix/rake/support.rb, line 62 def mkdir_p(*args) colorize :mkdir, args _mkdir_p(*args) end
rm_f(*args)
click to toggle source
# File lib/rfix/rake/support.rb, line 52 def rm_f(*args) colorize :rm, args _rm_f(*args) end
rm_rf(*args)
click to toggle source
# File lib/rfix/rake/support.rb, line 47 def rm_rf(*args) colorize :rm, args _rm_rf(*args) end
say(msg)
click to toggle source
# File lib/rfix/rake/support.rb, line 28 def say(msg) warn "#{'==>'.color(:blue)} #{to_relative(msg).italic}" end
sh(*args)
click to toggle source
# File lib/rfix/rake/support.rb, line 36 def sh(*args) args = args.map(&:to_s).map(&:shellsplit).flatten colorize args _sh(*args) end
Private Instance Methods
colorize(*args)
click to toggle source
# File lib/rfix/rake/support.rb, line 84 def colorize(*args) head, *tail = args.flatten.map(&method(:to_relative)) say [head.color(:yellow), tail.join(" ").italic].join(" ") end
current_path()
click to toggle source
# File lib/rfix/rake/support.rb, line 76 def current_path ::File.join(Dir.getwd, "/") end
to_relative(path)
click to toggle source
# File lib/rfix/rake/support.rb, line 80 def to_relative(path) path.to_s.gsub(current_path, "") end