class Jerakia::Encryption

Attributes

loaded[R]

Public Class Methods

config() click to toggle source
# File lib/jerakia/encryption.rb, line 50
def self.config
  Jerakia.config[:encryption] || {}
end
handler() click to toggle source
# File lib/jerakia/encryption.rb, line 7
def handler
  @handler || @handler = self.new
end
new(provider=nil) click to toggle source
# File lib/jerakia/encryption.rb, line 14
def initialize(provider=nil)
  if provider.nil?
    provider = config["provider"]
  end

  return nil if provider.nil?

  begin
    require "jerakia/encryption/#{provider}"
  rescue LoadError => e
    raise Jerakia::Error, "Failed to load encryption provider #{provider}"
  end

  begin
    eval "extend Jerakia::Encryption::#{provider.capitalize}"
  rescue NameError => e
    raise Jerakia::Error, "Encryption provider #{provider} did not provide class"
  end
  @loaded = true
end

Public Instance Methods

config() click to toggle source
# File lib/jerakia/encryption.rb, line 54
def config
  self.class.config
end
features?(feature) click to toggle source
# File lib/jerakia/encryption.rb, line 39
def features?(feature)
  case feature
  when :encrypt
    respond_to?('encrypt')
  when :decrypt
    respond_to?('decrypt')
  else
    false
  end
end
loaded?() click to toggle source
# File lib/jerakia/encryption.rb, line 35
def loaded?
  loaded
end