module Crafti::FileUtilsExtension

Public Instance Methods

chmod(mode, file) click to toggle source
# File lib/crafti.rb, line 58
def chmod(mode, file)
  file = [file].flatten.map { |f| app_path.join(f).to_s }
  ::FileUtils.chmod(mode, file)
end
chmod_r(mode, file) click to toggle source
# File lib/crafti.rb, line 63
def chmod_r(mode, file)
  file = [file].flatten.map { |f| app_path.join(f).to_s }
  ::FileUtils.chmod_R(mode, file)
end
copy(dest, list, options = {}) click to toggle source
# File lib/crafti.rb, line 53
def copy(dest, list, options = {})
  ::FileUtils.cp(list, app_path.join(dest).to_s, options)
end
Also aliased as: cp
cp(dest, list, options = {})
Alias for: copy
mkdir(dir, options = {}) click to toggle source
# File lib/crafti.rb, line 36
def mkdir(dir, options = {})
  ::FileUtils.mkdir_p(app_path.join(dir).to_s, options)
end
Also aliased as: mkdir_p
mkdir_p(dir, options = {})
Alias for: mkdir
mkdirs(*directories, mode: 0644, noop: false) click to toggle source
# File lib/crafti.rb, line 41
def mkdirs(*directories, mode: 0644, noop: false)
  directories.each do |dir|
    mkdir(dir, mode: mode, verbose: false, noop: noop)
  end
end
template(dest, erb_template, values) click to toggle source
# File lib/crafti.rb, line 68
def template(dest, erb_template, values)
  temp = ::Pathname.new(erb_template)

  namespace = TemplateBinding.new(values)
  content   = ::ERB.new(temp.read).
    result(namespace.get_binding)

  ::File.open(app_path.join(dest).to_s, 'w+') do |f|
    f.puts content
  end
end
touch(*files, noop: false) click to toggle source
# File lib/crafti.rb, line 47
def touch(*files, noop: false)
  files.each do |file|
    ::FileUtils.touch(app_path.join(file).to_s, verbose: false, noop: noop)
  end
end