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