namespace :ruby_skynet do

desc "Start the Ruby Skynet Server.\n Rails Example: rake ruby_skynet:server\n Without Rails: SKYNET_ENV=production SKYNET_CONFIG=config/ruby_skynet.yml rake ruby_skynet:server"
task :server => :environment do
  # Configuration is automatically loaded when running under Rails
  # so skip it here under Rails
  unless defined?(Rails)
    # Environment to use in config file
    # Defaults to Rails.env
    environment = ENV['SKYNET_ENV']

    # Environment to use in config file
    # Defaults to config/ruby_skynet.yml
    cfg_file = ENV['SKYNET_CONFIG']

    # Load the configuration file
    RubySkynet.configure!(cfg_file, environment)
  end

  server = nil
  begin
    server = RubySkynet::Server.new
    server.register_services_in_path
    server.wait_until_server_stops
  ensure
    server.close if server
  end
end

end