Sha256: e893b62f7e3b55058eab58811848cb2a27d58b9034fa649235481c46eb286017

Contents?: true

Size: 630 Bytes

Versions: 3

Compression:

Stored size: 630 Bytes

Contents

# encoding: utf-8
require 'reel'
require 'reel/rack'

module Virginia
  class Service
    def self.start
      config = Adhearsion.config.virginia

      # Rack-compatible options
      app, options = ::Rack::Builder.parse_file File.join(Adhearsion.root, config[:rackup])
      options = {
        Host: config[:host],
        Port: config[:port]
      }.merge(options)

      app = Rack::CommonLogger.new(app, Adhearsion.logger)
      supervisor = ::Reel::Rack::Server.supervise_as(:reel_rack_server, app, options)

      Adhearsion::Events.register_callback :shutdown do
        supervisor.terminate
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
virginia-0.5.0 lib/virginia/service.rb
virginia-0.4.0 lib/virginia/service.rb
virginia-0.3.0 lib/virginia/service.rb