Class: Spawner
- Inherits:
-
Object
- Object
- Spawner
- Defined in:
- lib/spawno/spawner.rb
Instance Method Summary collapse
- #env_vars(env) ⇒ Object
- #matching_environment?(environment) ⇒ Boolean
- #rails? ⇒ Boolean
- #spawn(process_conf) ⇒ Object
- #spawn_arguments(process_conf) ⇒ Object
Instance Method Details
#env_vars(env) ⇒ Object
9 10 11 |
# 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) ⇒ Boolean
13 14 15 |
# File 'lib/spawno/spawner.rb', line 13 def matching_environment?(environment) rails? ? Rails.env == environment : true end |
#rails? ⇒ Boolean
17 18 19 |
# File 'lib/spawno/spawner.rb', line 17 def rails? defined?(Rails) end |
#spawn(process_conf) ⇒ Object
2 3 4 5 6 7 |
# File 'lib/spawno/spawner.rb', line 2 def spawn(process_conf) command, env, , environment = spawn_arguments(process_conf) if ENV['SPAWNO'].nil? and matching_environment?(environment) Kernel.spawn(env, command, ) end end |
#spawn_arguments(process_conf) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/spawno/spawner.rb', line 21 def spawn_arguments(process_conf) command, env, , environment = process_conf.values_at('command', 'env', 'options', 'environment') env ||= {} ||= {} [command, env_vars(env), , environment] end |