Module: Ke
- Defined in:
- lib/ke.rb,
lib/ke/job.rb,
lib/ke/version.rb,
lib/ke/capped_sample.rb,
lib/ke/determinate_task.rb,
lib/ke/indeterminate_task.rb,
lib/ke/reporters/multi_line_reporter.rb,
lib/ke/reporters/single_line_reporter.rb
Defined Under Namespace
Classes: CappedSample, DeterminateTask, IndeterminateTask, Job, MultiLineReporter, SingleLineReporter
Constant Summary collapse
- VERSION =
"0.2.0"
Class Method Summary collapse
Class Method Details
.job(*args, &blk) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ke.rb', line 10 def self.job(*args, &blk) total_ticks = args[0] if Integer === args[0] label = args[1] if String === args[1] opts = args.detect { |arg| Hash === arg } || {} task_class = total_ticks ? DeterminateTask : IndeterminateTask task_opts = opts[:task_opts] || {} task_opts = task_opts.merge(total_ticks: total_ticks) if total_ticks reporter_class = opts[:reporter] || MultiLineReporter reporter_label = label || "task" reporter_io = opts[:io] || STDOUT job_class = Job job_opts = opts || {} task = task_class.new(task_opts) reporter = reporter_class.new(task, reporter_label, reporter_io) job = job_class.new(task, reporter, job_opts) job.run(&blk) end |