Sha256: 544b9cf448e21e704c775105ce0be8799c0c1dd4bbfe4877e1439b4869189d39
Contents?: true
Size: 561 Bytes
Versions: 6
Compression:
Stored size: 561 Bytes
Contents
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
6 entries across 6 versions & 1 rubygems