Module: UniversalID
- Defined in:
- lib/universalid.rb,
lib/universalid/version.rb
Defined Under Namespace
Modules: Encoder, Extensions, Refinements Classes: Packer, PrepackDatabaseOptions, PrepackOptions, Prepacker, Settings
Constant Summary collapse
- VERSION =
"0.1.7"
- MessagePackFactory =
MessagePack::Factory.new.tap do |factory| class << factory attr_reader :msgpack_pool def create_msgpack_pool @msgpack_pool = UniversalID::MessagePackFactory.pool([Etc.nprocessors.to_i, 1].max) end def register_scalar(type:, recreate_pool: true, **) register id: next_type_id(order: :asc), type: type, ** end def register(type:, id: nil, recreate_pool: true, **) [:recursive] = true unless .key?(:recursive) register_type(id || next_type_id(order: :desc), type, ) create_msgpack_pool if recreate_pool end def next_type_id(order:) range = 0..127 case order when :asc id = range.first id += 1 while type_registered?(id) when :desc id = range.last id -= 1 while type_registered?(id) end id = nil unless range.cover?(id) id end end end
Class Attribute Summary collapse
Class Attribute Details
.logger ⇒ Object
12 13 14 |
# File 'lib/universalid.rb', line 12 def logger @logger ||= defined?(Rails) ? Rails.logger : Logger.new(File::NULL) end |