class SmartCore::Container::DefinitionDSL::CommandSet
@api private @since 0.7.0
Attributes
commands[R]
@return [Array<SmartCore::Container::DefinitionDSL::Commands::Base>]
@api private @since 0.7.0
Public Class Methods
new()
click to toggle source
@return [void]
@api private @since 0.7.0
# File lib/smart_core/container/definition_dsl/command_set.rb, line 19 def initialize @commands = [] @access_lock = SmartCore::Container::ArbitaryLock.new end
Public Instance Methods
add_command(command)
click to toggle source
@param [SmartCore::Container::DefinitionDSL::Commands::Base] @return [void]
@api private @since 0.7.0
# File lib/smart_core/container/definition_dsl/command_set.rb, line 29 def add_command(command) thread_safe { commands << command } end
Also aliased as: <<
concat(command_set)
click to toggle source
@param command_set [SmartCore::Container::DefinitionDSL::CommandSet] @return [void]
@api private @since 0.7.0
# File lib/smart_core/container/definition_dsl/command_set.rb, line 48 def concat(command_set) thread_safe { commands.concat(command_set.dup.commands) } end
dup()
click to toggle source
@return [SmartCore::Container::DefinitionDSL::CommandSet]
@api private @since 0.7.0
# File lib/smart_core/container/definition_dsl/command_set.rb, line 56 def dup thread_safe do self.class.new.tap do |duplicate| commands.each do |command| duplicate.add_command(command.dup) end end end end
each(&block)
click to toggle source
@param block [Block] @return [Enumerable]
@api private @since 0.7.0
# File lib/smart_core/container/definition_dsl/command_set.rb, line 39 def each(&block) thread_safe { block_given? ? commands.each(&block) : commands.each } end
Private Instance Methods
thread_safe(&block)
click to toggle source
@param block [Block] @return [Any]
@api private @since 0.7.0
# File lib/smart_core/container/definition_dsl/command_set.rb, line 73 def thread_safe(&block) @access_lock.thread_safe(&block) end