Sha256: 81e8a4645153b3a1206da2cad2361db3fb951f3ff41c32ebc213b6455bb7a20e

Contents?: true

Size: 1.16 KB

Versions: 21

Compression:

Stored size: 1.16 KB

Contents

require "thin"

module Merb

  module Rack

    class Thin < Merb::Rack::AbstractAdapter
      # start a Thin server on given host and port.

      # :api: plugin
      def self.new_server(port)
        Merb::Dispatcher.use_mutex = false
        
        if (@opts[:socket] || @opts[:socket_file])
          socket = port.to_s
          socket_file = @opts[:socket_file] || "#{Merb.log_path}/#{Merb::Config[:name]}.%s.sock"
          socket_file = socket_file % port
          Merb.logger.warn!("Using Thin adapter with socket file #{socket_file}.")
          @server = ::Thin::Server.new(socket_file, @opts[:app], @opts)
        else
          Merb.logger.warn!("Using Thin adapter on host #{@opts[:host]} and port #{port}.")
          @opts[:host] = "#{@opts[:host]}-#{port}" if @opts[:host].include?('/')
          @server = ::Thin::Server.new(@opts[:host], port, @opts[:app], @opts)
        end
      end

      # :api: plugin
      def self.start_server
        ::Thin::Logging.silent = true
        @server.start
      end
      
      # :api: plugin
      def self.stop(status = 0)
        if @server
          @server.stop
          true
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
merb-core-1.1.3 lib/merb-core/rack/adapter/thin.rb
merb-core-1.1.2 lib/merb-core/rack/adapter/thin.rb
merb-core-1.1.1 lib/merb-core/rack/adapter/thin.rb
merb-core-1.1.0 lib/merb-core/rack/adapter/thin.rb
merb-core-1.1.0.rc1 lib/merb-core/rack/adapter/thin.rb
merb-core-1.1.0.pre lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.15 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.14 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.13 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.12 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.10 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.11 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.5 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.6.1 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.4 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.8.1 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.7.1 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.7 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.6 lib/merb-core/rack/adapter/thin.rb
merb-core-1.0.8 lib/merb-core/rack/adapter/thin.rb