class Encryption::Symmetric
Public Class Methods
new()
click to toggle source
# File lib/modules/symmetric.rb, line 6 def initialize @configuration = Encryption::Configuration::Symmetric.new end
Public Instance Methods
decrypt(data)
click to toggle source
# File lib/modules/symmetric.rb, line 27 def decrypt(data) cipher_init(:decipher, :decrypt) @decipher.update(data) + @decipher.final end
encrypt(data)
click to toggle source
# File lib/modules/symmetric.rb, line 22 def encrypt(data) cipher_init(:cipher, :encrypt) @cipher.update(data) + @cipher.final end
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/modules/symmetric.rb, line 10 def method_missing(name, *args, &block) if @configuration.respond_to? name return @configuration.send(name, *args, &block) end super end
respond_to?(name, include_all = false)
click to toggle source
Calls superclass method
# File lib/modules/symmetric.rb, line 17 def respond_to?(name, include_all = false) return true if @configuration.respond_to? name super end
Private Instance Methods
cipher_init(name, mode)
click to toggle source
# File lib/modules/symmetric.rb, line 34 def cipher_init(name, mode) obj = instance_variable_get((name = '@' + name.to_s)) if obj.nil? obj = instance_variable_set(name, OpenSSL::Cipher.new(@configuration.cipher)) obj.send mode end obj.key = @configuration.key obj.iv = @configuration.iv end