Module: Julewire::Core::Serialization::SerializerPool
- Defined in:
- lib/julewire/core/serialization/serializer_pool.rb
Class Method Summary collapse
Class Method Details
.serializer(pool_key, serializer_key) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/julewire/core/serialization/serializer_pool.rb', line 8 def serializer(pool_key, serializer_key) # Serializers carry traversal state, so pooled instances stay thread-local. pool = Thread.current.thread_variable_get(pool_key) unless pool pool = {} Thread.current.thread_variable_set(pool_key, pool) end pool[serializer_key] ||= yield end |