class FastlyNsq::TlsOptions

Public Class Methods

as_hash(context = nil) click to toggle source

Return hash of TLS options for creating an NSQ connection. @param context [Hash]

# File lib/fastly_nsq/tls_options.rb, line 8
def self.as_hash(context = nil)
  new(context).to_h
end
new(context = nil) click to toggle source
# File lib/fastly_nsq/tls_options.rb, line 12
def initialize(context = nil)
  @context = context || {}
end

Public Instance Methods

to_h() click to toggle source
# File lib/fastly_nsq/tls_options.rb, line 16
def to_h
  merge_contexts
  if @context.empty?
    {}
  else
    {
      tls_v1: true,
      tls_options: @context,
    }
  end
end

Private Instance Methods

env_ca_certificate() click to toggle source
# File lib/fastly_nsq/tls_options.rb, line 38
def env_ca_certificate
  ENV.fetch('NSQ_SSL_CA_CERTIFICATE', nil)
end
env_certificate() click to toggle source
# File lib/fastly_nsq/tls_options.rb, line 34
def env_certificate
  ENV.fetch('NSQ_SSL_CERTIFICATE', nil)
end
env_default_hash() click to toggle source
# File lib/fastly_nsq/tls_options.rb, line 46
def env_default_hash
  {
    key: env_key,
    certificate: env_certificate,
    ca_certificate: env_ca_certificate,
    verify_mode: verify_mode,
  }
end
env_key() click to toggle source
# File lib/fastly_nsq/tls_options.rb, line 30
def env_key
  ENV.fetch('NSQ_SSL_KEY', nil)
end
merge_contexts() click to toggle source
# File lib/fastly_nsq/tls_options.rb, line 55
def merge_contexts
  @context = env_default_hash.merge(@context).delete_if { |_, v| v.nil? }
end
verify_mode() click to toggle source
# File lib/fastly_nsq/tls_options.rb, line 42
def verify_mode
  ENV.fetch('NSQ_SSL_VERIFY_MODE', nil)
end