Module: Rake

Defined in:
lib/only_one_rake.rb

Defined Under Namespace

Modules: DSL Classes: OOR

Constant Summary collapse

WHOAMI =
`whoami`.strip

Class Method Summary collapse

Class Method Details

.ensure_only_one_task_is_running(namespace, task = "") ⇒ Object

TODO support not only one namespace



12
13
14
15
16
# File 'lib/only_one_rake.rb', line 12

def self.ensure_only_one_task_is_running namespace, task = ""
  oors = `ps -u #{WHOAMI} -ef | grep rake | grep -v '/bash ' | grep -v 'grep rake'`.split("\n").map {|line| OOR.new *line.split(" ", 8) }

  Process.exit! 0 if oors.select {|oor| oor.equal? namespace, task }.size > 1
end