Module: Specwrk::Store::Serializer

Defined in:
lib/specwrk/store/serializer.rb

Class Method Summary collapse

Class Method Details

.resolve(name = ENV.fetch("SPECWRK_STORE_SERIALIZER", "json")) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/specwrk/store/serializer.rb', line 68

def resolve(name = ENV.fetch("SPECWRK_STORE_SERIALIZER", "json"))
  return name if name.respond_to?(:dump) && name.respond_to?(:load)

  case name.to_s.downcase
  when "", "json"
    Serializers::JSON
  when "msgpack", "messagepack"
    Serializers::MessagePack.tap(&:ensure_loaded!)
  else
    raise ArgumentError, "Unsupported serializer #{name.inspect}. Choose json or msgpack."
  end
end