Sha256: 2189ccbdfc6dd5ab3e579c6136eaa7ef42f93ae64eb837997243e1e83a8e5fe7
Contents?: true
Size: 592 Bytes
Versions: 4
Compression:
Stored size: 592 Bytes
Contents
# frozen_string_literal: true require 'singleton' require 'peddler/errors/error' module Peddler module Errors # @api private class Builder include Singleton def self.build(name) instance.build(name) end def initialize @mutex = Mutex.new end def build(name) with_mutex do return Errors.const_get(name) if Errors.const_defined?(name) Errors.const_set(name, Class.new(Error)) end end private def with_mutex @mutex.synchronize { yield } end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
peddler-1.6.7 | lib/peddler/errors/builder.rb |
peddler-1.6.6 | lib/peddler/errors/builder.rb |
peddler-1.6.5 | lib/peddler/errors/builder.rb |
peddler-1.6.4 | lib/peddler/errors/builder.rb |