Class: Griffin::Engine::Single

Inherits:
Object
  • Object
show all
Defined in:
lib/griffin/engine/single.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server, config) ⇒ Single

Returns a new instance of Single.



13
14
15
16
17
# File 'lib/griffin/engine/single.rb', line 13

def initialize(server, config)
  @server = server
  @config = config
  @listener = Griffin::Listener.new(@config[:bind], @config[:port])
end

Class Method Details

.create(config) ⇒ Object



9
10
11
# File 'lib/griffin/engine/single.rb', line 9

def self.create(config)
  new(Griffin::Server.new, config)
end

Instance Method Details

#install_handlerObject



30
31
32
33
34
35
36
37
38
# File 'lib/griffin/engine/single.rb', line 30

def install_handler
  trap('INT') do
    @server.shutdown
  end

  trap('TERM') do
    @server.shutdown
  end
end

#runObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/griffin/engine/single.rb', line 19

def run
  @config[:services].each do |s|
    @server.handle(s)
  end

  install_handler

  @server.before_run
  @server.run(@listener.listen)
end