Sha256: 3b09b08acf45afa71f4a3abeff031555317a87ad2183c460c2920434235343bf
Contents?: true
Size: 597 Bytes
Versions: 141
Compression:
Stored size: 597 Bytes
Contents
# frozen_string_literal: true require 'monitor' module Faraday # AdapterRegistry registers adapter class names so they can be looked up by a # String or Symbol name. class AdapterRegistry def initialize @lock = Monitor.new @constants = {} end def get(name) klass = @lock.synchronize do @constants[name] end return klass if klass Object.const_get(name).tap { |c| set(c, name) } end def set(klass, name = nil) name ||= klass.to_s @lock.synchronize do @constants[name] = klass end end end end
Version data entries
141 entries across 128 versions & 20 rubygems