class TCPClient::Configuration

Attributes

buffered[R]
connect_timeout[R]
connect_timeout_error[R]
keep_alive[R]
read_timeout[R]
read_timeout_error[R]
reverse_lookup[R]
ssl_params[RW]
write_timeout[R]
write_timeout_error[R]

Public Class Methods

create(options = {}) { |ret| ... } click to toggle source
# File lib/tcp-client/configuration.rb, line 7
def self.create(options = {})
  ret = new(options)
  yield(ret) if block_given?
  ret
end
default() click to toggle source
# File lib/tcp-client/default_configuration.rb, line 17
def self.default
  TCPClient.default_configuration
end
new(options = {}) click to toggle source
# File lib/tcp-client/configuration.rb, line 24
def initialize(options = {})
  @buffered = @keep_alive = @reverse_lookup = true
  self.timeout = @ssl_params = nil
  @connect_timeout_error = ConnectTimeoutError
  @read_timeout_error = ReadTimeoutError
  @write_timeout_error = WriteTimeoutError
  options.each_pair { |attribute, value| set(attribute, value) }
end

Public Instance Methods

==(other) click to toggle source
# File lib/tcp-client/configuration.rb, line 121
def ==(other)
  to_h == other.to_h
end
Also aliased as: eql?
buffered=(value) click to toggle source
# File lib/tcp-client/configuration.rb, line 57
def buffered=(value)
  @buffered = value ? true : false
end
connect_timeout=(seconds) click to toggle source
# File lib/tcp-client/configuration.rb, line 73
def connect_timeout=(seconds)
  @connect_timeout = seconds(seconds)
end
connect_timeout_error=(exception) click to toggle source
# File lib/tcp-client/configuration.rb, line 91
def connect_timeout_error=(exception)
  raise(NotAnException, exception) unless exception_class?(exception)
  @connect_timeout_error = exception
end
eql?(other)
Alias for: ==
equal?(other) click to toggle source
# File lib/tcp-client/configuration.rb, line 126
def equal?(other)
  self.class == other.class && self == other
end
freeze() click to toggle source
Calls superclass method
# File lib/tcp-client/configuration.rb, line 33
def freeze
  @ssl_params.freeze
  super
end
initialize_copy(_org) click to toggle source
Calls superclass method
# File lib/tcp-client/configuration.rb, line 38
def initialize_copy(_org)
  super
  @ssl_params = Hash[@ssl_params] if @ssl_params
  self
end
keep_alive=(value) click to toggle source
# File lib/tcp-client/configuration.rb, line 61
def keep_alive=(value)
  @keep_alive = value ? true : false
end
read_timeout=(seconds) click to toggle source
# File lib/tcp-client/configuration.rb, line 77
def read_timeout=(seconds)
  @read_timeout = seconds(seconds)
end
read_timeout_error=(exception) click to toggle source
# File lib/tcp-client/configuration.rb, line 96
def read_timeout_error=(exception)
  raise(NotAnException, exception) unless exception_class?(exception)
  @read_timeout_error = exception
end
reverse_lookup=(value) click to toggle source
# File lib/tcp-client/configuration.rb, line 65
def reverse_lookup=(value)
  @reverse_lookup = value ? true : false
end
ssl=(value) click to toggle source
# File lib/tcp-client/configuration.rb, line 48
def ssl=(value)
  @ssl_params =
    if Hash === value
      Hash[value]
    else
      value ? {} : nil
    end
end
ssl?() click to toggle source
# File lib/tcp-client/configuration.rb, line 44
def ssl?
  @ssl_params ? true : false
end
timeout=(seconds) click to toggle source
# File lib/tcp-client/configuration.rb, line 69
def timeout=(seconds)
  @connect_timeout = @write_timeout = @read_timeout = seconds(seconds)
end
timeout_error=(exception) click to toggle source
# File lib/tcp-client/configuration.rb, line 85
def timeout_error=(exception)
  raise(NotAnException, exception) unless exception_class?(exception)
  @connect_timeout_error =
    @read_timeout_error = @write_timeout_error = exception
end
to_h() click to toggle source
# File lib/tcp-client/configuration.rb, line 106
def to_h
  {
    buffered: @buffered,
    keep_alive: @keep_alive,
    reverse_lookup: @reverse_lookup,
    connect_timeout: @connect_timeout,
    read_timeout: @read_timeout,
    write_timeout: @write_timeout,
    connect_timeout_error: @connect_timeout_error,
    read_timeout_error: @read_timeout_error,
    write_timeout_error: @write_timeout_error,
    ssl_params: @ssl_params
  }
end
write_timeout=(seconds) click to toggle source
# File lib/tcp-client/configuration.rb, line 81
def write_timeout=(seconds)
  @write_timeout = seconds(seconds)
end
write_timeout_error=(exception) click to toggle source
# File lib/tcp-client/configuration.rb, line 101
def write_timeout_error=(exception)
  raise(NotAnException, exception) unless exception_class?(exception)
  @write_timeout_error = exception
end

Private Instance Methods

exception_class?(value) click to toggle source
# File lib/tcp-client/configuration.rb, line 132
def exception_class?(value)
  value.is_a?(Class) && value < Exception
end
seconds(value) click to toggle source
# File lib/tcp-client/configuration.rb, line 142
def seconds(value)
  value&.to_f&.positive? ? value : nil
end
set(attribute, value) click to toggle source
# File lib/tcp-client/configuration.rb, line 136
def set(attribute, value)
  public_send("#{attribute}=", value)
rescue NoMethodError
  raise(UnknownAttribute, attribute)
end