Module: RobustServerSocket::Configuration

Included in:
RobustServerSocket
Defined in:
lib/robust_server_socket/configuration.rb

Constant Summary collapse

MIN_KEY_SIZE =
2048

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#configurationObject (readonly)

Returns the value of attribute configuration.



5
6
7
# File 'lib/robust_server_socket/configuration.rb', line 5

def configuration
  @configuration
end

#configuredObject (readonly)

Returns the value of attribute configured.



5
6
7
# File 'lib/robust_server_socket/configuration.rb', line 5

def configured
  @configured
end

Instance Method Details

#configure {|configuration| ... } ⇒ Object

Yields:



7
8
9
10
11
12
13
# File 'lib/robust_server_socket/configuration.rb', line 7

def configure
  @configuration ||= ConfigStore.new
  yield(configuration)
  validate_key_security!

  @configured = true
end

#configured?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/robust_server_socket/configuration.rb', line 26

def configured?
  !!@configured && correct_configuration?
end

#correct_configuration?Boolean

rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity

Returns:

  • (Boolean)


15
16
17
18
19
20
21
22
23
24
# File 'lib/robust_server_socket/configuration.rb', line 15

def correct_configuration? # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity
  configuration.allowed_services.is_a?(Array) &&
    configuration.allowed_services.any? &&
    configuration.private_key.is_a?(String) &&
    !configuration.private_key.empty? &&
    configuration.token_expiration_time.is_a?(Integer) &&
    configuration.token_expiration_time.positive? &&
    configuration.redis_url.is_a?(String) &&
    !configuration.redis_url.empty?
end