Sha256: 3bd61d1cca6420687a492631fb02c164ac11a6f865753675fb6f699a2ca10fa8
Contents?: true
Size: 1.41 KB
Versions: 6
Compression:
Stored size: 1.41 KB
Contents
require "my" require "run" require "import" require "ricecream" Doit = Object.new class << Doit def start(options) @options = options list if options[:list] script = ARGV.shift str = ARGV.map { |x| "\"#{x}\"" }.join(" ") @argv = str.empty? ? "" : "set #{str}\n" execute(script) if script end def options @options ||= {} @options end def list hsh = Import.list hsh.sort.each { |abb, long| puts "#{abb}\t- #{long}" next unless options[:verbose] lines = `grep -i "usage\\|summary" #{long} | grep "^#"`.split("\n") lines.each { |line| next unless line next if line.empty? puts "\t #{line}" } } end def execute(name) Import.init(name) unless Import.script puts "doit: script '#{name}' not found" return end What.init(Import.config) What.where.each { |w| puts "doit #{name} -r #{w}" } if options[:each] where_loop unless options[:each] end private def where_loop What.where.each { |w| matrix_loop(w) } end def matrix_loop(where) What.matrix.each { |mm| prefix = mm.empty? ? "" : "#{What.to_env(mm)}\n" What.env.each { |en| prefix2 = en.empty? ? "" : "#{en}\n" cmds = Import.script cmds = @argv + prefix + prefix2 + cmds Run.init cmds, where Run.info if options[:verbose] Run.run } } end end
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
doit-1.0.9 | lib/doit.rb |
doit-1.0.8 | lib/doit.rb |
doit-1.0.7 | lib/doit.rb |
doit-1.0.5 | lib/doit.rb |
doit-1.0.4 | lib/doit.rb |
doit-1.0.3 | lib/doit.rb |