Module: Moneta::Transforms

Defined in:
lib/moneta/transforms.rb,
lib/moneta/transforms/ox.rb,
lib/moneta/transforms/qp.rb,
lib/moneta/transforms/hex.rb,
lib/moneta/transforms/lz4.rb,
lib/moneta/transforms/lzo.rb,
lib/moneta/transforms/md5.rb,
lib/moneta/transforms/php.rb,
lib/moneta/transforms/tos.rb,
lib/moneta/transforms/bert.rb,
lib/moneta/transforms/bson.rb,
lib/moneta/transforms/hmac.rb,
lib/moneta/transforms/json.rb,
lib/moneta/transforms/lzma.rb,
lib/moneta/transforms/sha1.rb,
lib/moneta/transforms/tnet.rb,
lib/moneta/transforms/yaml.rb,
lib/moneta/transforms/zlib.rb,
lib/moneta/transforms/bzip2.rb,
lib/moneta/transforms/base64.rb,
lib/moneta/transforms/city32.rb,
lib/moneta/transforms/city64.rb,
lib/moneta/transforms/escape.rb,
lib/moneta/transforms/prefix.rb,
lib/moneta/transforms/rmd160.rb,
lib/moneta/transforms/sha256.rb,
lib/moneta/transforms/sha384.rb,
lib/moneta/transforms/sha512.rb,
lib/moneta/transforms/snappy.rb,
lib/moneta/transforms/spread.rb,
lib/moneta/transforms/bencode.rb,
lib/moneta/transforms/city128.rb,
lib/moneta/transforms/inspect.rb,
lib/moneta/transforms/marshal.rb,
lib/moneta/transforms/quicklz.rb,
lib/moneta/transforms/truncate.rb,
lib/moneta/transforms/uuencode.rb,
lib/moneta/transforms/messagepack.rb,
lib/moneta/transforms/urlsafebase64.rb

Overview

This module is used to namespace Moneta’s built-in transform classes, as used by Transformer.

Defined Under Namespace

Classes: BERT, BEncode, BSON, Base64, Bzip2, City128, City32, City64, Escape, HMAC, Hex, Inspect, JSON, LZ4, LZMA, LZO, MD5, Marshal, MessagePack, Ox, PHP, Prefix, QP, QuickLZ, RMD160, SHA1, SHA256, SHA384, SHA512, Snappy, Spread, TNet, ToS, Truncate, UUEncode, UrlsafeBase64, YAML, Zlib

Constant Summary collapse

TRANSFORMS =
%i[
  BEncode
  BERT
  BSON
  JSON
  Marshal
  MessagePack
  Ox
  PHP
  TNet
  YAML
  Bzip2
  LZ4
  LZMA
  LZO
  Snappy
  QuizLZ
  Zlib
  Base64
  UrlsafeBase64
  Escape
  Hex
  QP
  UUEncode
  HMAC
  Prefix
  Truncate
  MD5
  RMD160
  SHA1
  SHA256
  SHA384
  SHA512
  City32
  City64
  City128
  Spread
  ToS
  Inspect
].freeze

Class Method Summary collapse

Class Method Details

.module_for(name) ⇒ Module

Used by Moneta::Transformer to initialise instances of Moneta::Transform to do key/value encoding and decoding.

Parameters:

  • name (String, Symbol)

    The name of the transform

Returns:

  • (Module)

    A class that implements the Moneta::Transform interface when initialized



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/moneta/transforms.rb', line 54

def self.module_for(name)
  transform_sym =
    case name
    when :msgpack
      :MessagePack
    else
      name_str = name.to_s.gsub("_", "")
      TRANSFORMS.find do |transform|
        transform == name ||
          transform.to_s.downcase == name_str
      end
    end

  const_get transform_sym if transform_sym
end