class Refcode::Encoder
Attributes
salt[RW]
secret[RW]
Public Class Methods
new() { |self| ... }
click to toggle source
# File lib/refcode/encoder.rb, line 7 def initialize yield self if block_given? end
Public Instance Methods
decode(val)
click to toggle source
# File lib/refcode/encoder.rb, line 13 def decode val YAML.load(decrypt(Base64URL.decode(val))) end
encode(val)
click to toggle source
# File lib/refcode/encoder.rb, line 10 def encode val Base64URL.encode(encrypt(YAML.dump(val))) end
secret=(secret)
click to toggle source
# File lib/refcode/encoder.rb, line 16 def secret= secret secret = secret * 2 until secret.size >= 32 @secret = secret end
Private Instance Methods
decrypt(val)
click to toggle source
# File lib/refcode/encoder.rb, line 26 def decrypt val Encryptor.decrypt(:value => val, :key => @secret, :salt => @salt, :iv => iv) end
encrypt(val)
click to toggle source
# File lib/refcode/encoder.rb, line 23 def encrypt val Encryptor.encrypt(:value => val, :key => @secret, :salt => @salt, :iv => iv) end
iv()
click to toggle source
# File lib/refcode/encoder.rb, line 29 def iv [@secret, @salt, 42].join end