Module: Mkdirs
- Defined in:
- lib/mkdirs.rb,
lib/mkdirs/version.rb
Defined Under Namespace
Classes: Spec
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
- .apply(yml, root_dir, verbose = true) ⇒ Object
- .apply_filename(filename, root_dir) ⇒ Object
- .load(yml) ⇒ Object
Class Method Details
.apply(yml, root_dir, verbose = true) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/mkdirs.rb', line 16 def self.apply(yml, root_dir, verbose = true) specs = load(yml) specs.each do |spec| path = File.join(root_dir, spec.path) dir = File.dirname(path) unless File.exists?(dir) puts "mkdir -p #{dir}".colorize(:green) if verbose mkdir_p(dir) end if spec.cmd if not File.exists?(path) Dir.chdir(dir) do puts spec.cmd.colorize(:green) if verbose system(spec.cmd) exit($?.exitstatus) if $?.exitstatus != 0 end end else puts "mkdir -p #{path}".colorize(:green) if verbose mkdir_p(path) end end end |
.apply_filename(filename, root_dir) ⇒ Object
12 13 14 |
# File 'lib/mkdirs.rb', line 12 def self.apply_filename(filename, root_dir) apply(File.read(filename), root_dir) end |
.load(yml) ⇒ Object
40 41 42 43 |
# File 'lib/mkdirs.rb', line 40 def self.load(yml) dirs = YAML.load(yml) flatten(dirs) end |