Module: Funl::Blobber
- Defined in:
- lib/funl/blobber.rb
Defined Under Namespace
Modules: JSON_SYM, MessagePack_SYM
Constant Summary collapse
- MARSHAL_TYPE =
ObjectStream::MARSHAL_TYPE
- YAML_TYPE =
ObjectStream::YAML_TYPE
- JSON_TYPE =
ObjectStream::JSON_TYPE
- MSGPACK_TYPE =
ObjectStream::MSGPACK_TYPE
Class Method Summary collapse
-
.for(type, symbolize_keys: false) ⇒ Object
Returns something which responds to #dump(obj) and #load(str).
Class Method Details
.for(type, symbolize_keys: false) ⇒ Object
Returns something which responds to #dump(obj) and #load(str).
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/funl/blobber.rb', line 31 def self.for type, symbolize_keys: false case type when MARSHAL_TYPE Marshal when YAML_TYPE require 'yaml' YAML when JSON_TYPE require 'yajl' require 'yajl/json_gem' ## would 'json' conflict with yajl required from other libs? if symbolize_keys JSON_SYM else JSON end when MSGPACK_TYPE require 'msgpack' if symbolize_keys MessagePack_SYM else MessagePack end else raise ArgumentError, "unknown type: #{type.inspect}" end end |