class Qonfig::Validation::Collections::InstanceCollection
@api private @since 0.20.0
Attributes
validators[R]
@return [Array<Qonfig::Validation::Validators::Base>]
@api private @since 0.20.0
Public Class Methods
new()
click to toggle source
@return [void]
@api private @since 0.20.0
# File lib/qonfig/validation/collections/instance_collection.rb, line 20 def initialize @validators = [] @access_lock = Mutex.new end
Public Instance Methods
add_validator(validator)
click to toggle source
@param validator [Qonfig::Validation::Validators::Base] @return [void]
@api private @since 0.20.0
# File lib/qonfig/validation/collections/instance_collection.rb, line 30 def add_validator(validator) thread_safe { validators << validator } end
Also aliased as: <<
concat(collection)
click to toggle source
@param collection [Qonfig::Validation::Collections::InstanceCollection] @return [void]
@api private @since 0.20.0
# File lib/qonfig/validation/collections/instance_collection.rb, line 49 def concat(collection) thread_safe { validators.concat(collection.validators) } end
dup()
click to toggle source
@return [Qonfig::Validation::Collections::InstanceCollection]
@api private @since 0.20.0
# File lib/qonfig/validation/collections/instance_collection.rb, line 57 def dup thread_safe do Qonfig::Validation::Collections::InstanceCollection.new.tap do |duplicate| duplicate.concat(self) end end end
each(&block)
click to toggle source
@param block [Proc] @return [Enumerable]
@api private @since 0.20.0
# File lib/qonfig/validation/collections/instance_collection.rb, line 40 def each(&block) thread_safe { block_given? ? validators.each(&block) : validators.each } end
Private Instance Methods
thread_safe(&block)
click to toggle source
@param block [Proc] @return [Any]
@api private @since 0.13.0
# File lib/qonfig/validation/collections/instance_collection.rb, line 72 def thread_safe(&block) @access_lock.synchronize(&block) end