Class: Rubcask::Server::Runner::Config

Inherits:
Struct
  • Object
show all
Defined in:
lib/rubcask/server/runner/config.rb

Overview

Server runner config

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize {|config| ... } ⇒ Config

Overide fields with the block

Yield Parameters:

  • config (self)


27
28
29
30
31
32
33
# File 'lib/rubcask/server/runner/config.rb', line 27

def initialize
  self.server_type = :threaded
  self.merge_interval = 3_600
  self.directory_path = nil

  yield(self) if block_given?
end

Instance Attribute Details

#directory_pathString

Path of the directory in which the data is stored.

Default: no default value, user has to set it manually.

Returns:

  • (String)


24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/rubcask/server/runner/config.rb', line 24

Config = Struct.new(:merge_interval, :server_type, :directory_path) do
  # Overide fields with the block
  # @yieldparam [self] config
  def initialize
    self.server_type = :threaded
    self.merge_interval = 3_600
    self.directory_path = nil

    yield(self) if block_given?
  end

  # Calls new and freezes the config
  # @see .initialize
  def self.configure(&block)
    new(&block).freeze
  end
end

#merge_intervalInteger, null

How frequent in seconds should merge operation by run.

Default: 3600

Returns:

  • (Integer, null)


24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/rubcask/server/runner/config.rb', line 24

Config = Struct.new(:merge_interval, :server_type, :directory_path) do
  # Overide fields with the block
  # @yieldparam [self] config
  def initialize
    self.server_type = :threaded
    self.merge_interval = 3_600
    self.directory_path = nil

    yield(self) if block_given?
  end

  # Calls new and freezes the config
  # @see .initialize
  def self.configure(&block)
    new(&block).freeze
  end
end

#server_type:threaded, :async

Which type of server should be run.

Use threaded if you are not on MRI. If you are on mri and can install ‘async-io` use :async.

Default: :threaded

Returns:

  • (:threaded, :async)


24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/rubcask/server/runner/config.rb', line 24

Config = Struct.new(:merge_interval, :server_type, :directory_path) do
  # Overide fields with the block
  # @yieldparam [self] config
  def initialize
    self.server_type = :threaded
    self.merge_interval = 3_600
    self.directory_path = nil

    yield(self) if block_given?
  end

  # Calls new and freezes the config
  # @see .initialize
  def self.configure(&block)
    new(&block).freeze
  end
end

Class Method Details

.configure(&block) ⇒ Object

Calls new and freezes the config

See Also:



37
38
39
# File 'lib/rubcask/server/runner/config.rb', line 37

def self.configure(&block)
  new(&block).freeze
end