Class: Puma::Single
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| 
         Class Chain: 
        
          self,
           
      Runner
         | 
    |
| 
         Instance Chain: 
        
          self,
           
      Runner
         | 
    |
| Inherits: | 
        Puma::Runner
        
  | 
    
| Defined in: | lib/puma/single.rb | 
Overview
This class is instantiated by the Launcher and used to boot and serve a Ruby application when no puma “workers” are needed i.e. only using “threaded” mode. For example $ puma -t 1:5
At the core of this class is running an instance of Server which gets created via the start_server method from the Runner class that this inherits from.
Class Method Summary
Instance Attribute Summary
Instance Method Summary
Runner - Inherited
Constructor Details
This class inherits a constructor from Puma::Runner
Instance Attribute Details
#stats (readonly)
[ GitHub ]# File 'lib/puma/single.rb', line 17
def stats { started_at: @started_at.utc.iso8601 }.merge(@server.stats) end
Instance Method Details
#halt
[ GitHub ]# File 'lib/puma/single.rb', line 31
def halt @server.halt end
#restart
[ GitHub ]# File 'lib/puma/single.rb', line 23
def restart @server.begin_restart end
#run
[ GitHub ]# File 'lib/puma/single.rb', line 41
def run output_header "single" load_and_bind Plugins.fire_background @launcher.write_state start_control @server = server = start_server server_thread = server.run log "Use Ctrl-C to stop" redirect_io @launcher.events.fire_on_booted! begin server_thread.join rescue Interrupt # Swallow it end end
#stop
[ GitHub ]# File 'lib/puma/single.rb', line 27
def stop @server.stop(false) if @server end