class Spawner

Public Instance Methods

env_vars(env) click to toggle source
# File lib/spawno/spawner.rb, line 9
def env_vars(env)
  {'SPAWNO' => 'true'}.merge(rails? ? env.merge('RAILS_ENV' => Rails.env) : env)
end
matching_environment?(environment) click to toggle source
# File lib/spawno/spawner.rb, line 13
def matching_environment?(environment)
  rails? ? Rails.env == environment : true
end
rails?() click to toggle source
# File lib/spawno/spawner.rb, line 17
def rails?
  defined?(Rails)
end
spawn(process_conf) click to toggle source
# File lib/spawno/spawner.rb, line 2
def spawn(process_conf)
  command, env, options, environment = spawn_arguments(process_conf)
  if ENV['SPAWNO'].nil? and matching_environment?(environment)
    Kernel.spawn(env, command, options)
  end
end
spawn_arguments(process_conf) click to toggle source
# File lib/spawno/spawner.rb, line 21
def spawn_arguments(process_conf)
  command, env, options, environment = process_conf.values_at('command', 'env', 'options', 'environment')
  env     ||= {}
  options ||= {}
  [command, env_vars(env), options, environment]
end