Class: Griffin::ServerConfigBuilder

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

Defined Under Namespace

Classes: ServerConfig

Constant Summary collapse

SERVERENGINE_PRIMITIVE_CONFIGS =
%i[workers bind port log pid_path log_level].freeze
SERVERENGINE_BLOCK_CONFIGS =
%i[before_fork after_fork].freeze
SERVERENGIEN_FIXED_CONFIGS =

Users can’t change these values

%i[daemonize worker_type worker_process_name].freeze
GRIFFIN_CONFIGS =
%i[thread_pool].freeze
GRPC_CONFIGS =
%i[services interceptors].freeze
DEFAULT_SERVER_CONFIG =
{
  worker_process_name: 'griffin worker',
  daemonize: false,
  log: '-', # STDOUT
  worker_type: 'process',
  workers: 1,
  bind: '0.0.0.0',
  port: 50051,
}.freeze

Instance Method Summary collapse

Constructor Details

#initializeServerConfigBuilder

Returns a new instance of ServerConfigBuilder.



28
29
30
# File 'lib/griffin/server_config_builder.rb', line 28

def initialize
  @opts = DEFAULT_SERVER_CONFIG.dup
end

Instance Method Details

#buildObject



48
49
50
51
52
53
# File 'lib/griffin/server_config_builder.rb', line 48

def build
  c = ServerConfig.new
  @opts.each do |name, value|
    c.send("#{name}=", value)
  end
end

#services(*serv) ⇒ Object



44
45
46
# File 'lib/griffin/server_config_builder.rb', line 44

def services(*serv)
  @opts[:services] = serv
end