Sha256: aa37e3550f2baad874c708cd9bdbfe6e819aa182aabdaa7401993997cb735f16
Contents?: true
Size: 1.24 KB
Versions: 5
Compression:
Stored size: 1.24 KB
Contents
# encoding: utf-8 require "nake/dsl" task(["-H", "--help"]) do abort "\nUse #{$0} -T for list of all available tasks or -i for interactive session" end task(["-T", "--tasks"]) do |pattern, options = Hash.new| tasks, options = Task.tasks.select { |name, task| not task.hidden? }.sort.partition { |key, value| not key.match(/^-/) } puts "\n#{"===".yellow} #{"Available tasks".magenta} #{"===".yellow}" if tasks.empty? puts "No tasks defined" else tasks.each do |name, task| puts "#{name.green} #{task.dependencies.join(", ")} # #{task.description || "no description yet"}" end end puts "\n#{"===".yellow} #{"Available options".magenta} #{"===".yellow}" if options.empty? puts "No options defined" else options.each do |name, task| puts "#{name.green} #{task.dependencies.join(", ")} # #{task.description || "no description yet"}" end end end # TODO: this doesn't work so far task(["-i", "--interactive"]) do |*args, options| require "irb" begin require "irb/readline" rescue LoadError warn "Code completion via readline isn't available" end unless args.empty? task = Task[args.shift] task.call(*args, options) end IRB.start end Task["-T"].hidden = true Task["-H"].hidden = true
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
nake-0.0.3 | lib/nake/tasks.rb |
nake-0.0.3.pre | lib/nake/tasks.rb |
nake-0.0.2 | lib/nake/tasks.rb |
nake-0.0.2.pre | lib/nake/tasks.rb |
nake-0.0.1 | lib/nake/tasks.rb |