class Sidekiq::Encryptor::Base
Public Class Methods
new(options = {})
click to toggle source
# File lib/sidekiq/encryptor.rb, line 32 def initialize(options = {}) @key = validate_key(compact_key(options[:key])) @adapter = options[:adapter] || FernetAdapter end
Public Instance Methods
enabled?()
click to toggle source
# File lib/sidekiq/encryptor.rb, line 42 def enabled? !@key.nil? end
inspect()
click to toggle source
# File lib/sidekiq/encryptor.rb, line 37 def inspect "#<#{self.class.inspect}> @key=[masked] @adapter=#{@adapter.inspect}>" end
Also aliased as: to_s
Private Instance Methods
compact_key(key)
click to toggle source
# File lib/sidekiq/encryptor.rb, line 48 def compact_key(key) flat_key = key.to_s.delete("\r\n") case flat_key # empty when "" nil # hexadecimal when /^[\da-f]+$/i [flat_key].pack('H*') # base64 when /^[A-Za-z\d\+\/=]+$/ key.unpack('m*').first # assume binary otherwise else key end end
validate_key(key)
click to toggle source
# File lib/sidekiq/encryptor.rb, line 66 def validate_key(key) if key.nil? $stderr.puts '[sidekiq-encryptor] ERROR: no key provided, encryption disabled' elsif key.bytesize < 32 $stderr.puts '[sidekiq-encryptor] ERROR: key length less than 256 bits, encryption disabled' else key.bytes.to_a[0,32].pack('C*') end end