Files

Class/Module Index [+]

Quicksearch

Moneta::Transformer::Helper

@api private

Public Instance Methods

escape(value) click to toggle source
# File lib/moneta/transformer/helper.rb, line 7
def escape(value)
  value.gsub(/[^a-zA-Z0-9_-]+/){ '%' + $&.unpack('H2' * $&.bytesize).join('%').upcase }
end
hmacsign(value, secret) click to toggle source
# File lib/moneta/transformer/helper.rb, line 20
def hmacsign(value, secret)
  OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha256'), secret, value) << value
end
hmacverify(value, secret) click to toggle source
# File lib/moneta/transformer/helper.rb, line 15
def hmacverify(value, secret)
  hash, value = value[0..31], value[32..-1]
  value if hash == OpenSSL::HMAC.digest(OpenSSL::Digest::Digest.new('sha256'), secret, value)
end
spread(value) click to toggle source
# File lib/moneta/transformer/helper.rb, line 32
def spread(value)
  ::File.join(value[0..1], value[2..-1])
end
truncate(value, maxlen) click to toggle source
# File lib/moneta/transformer/helper.rb, line 24
def truncate(value, maxlen)
  if value.size >= maxlen
    digest = Digest::MD5.hexdigest(value)
    value = value[0, maxlen-digest.size] << digest
  end
  value
end
unescape(value) click to toggle source
# File lib/moneta/transformer/helper.rb, line 11
def unescape(value)
  value.gsub(/((?:%[0-9a-fA-F]{2})+)/){ [$1.delete('%')].pack('H*') }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.