Class: SmartCore::Initializer::ExtensionSet Private
- Inherits:
-
Object
- Object
- SmartCore::Initializer::ExtensionSet
- Includes:
- Enumerable
- Defined in:
- lib/smart_core/initializer/extension_set.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Attribute Summary collapse
- #extensions ⇒ Array<SmartCore::Initializer::InitializationExtension> readonly private
Instance Method Summary collapse
- #add_extension(extension) ⇒ void (also: #<<) private
- #concat(extension_set) ⇒ void private
- #dup ⇒ SmartCore::Initializer::ExtensionSet private
- #each(&block) ⇒ Enumerable private
- #initialize ⇒ void constructor private
Constructor Details
#initialize ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
19 20 21 22 |
# File 'lib/smart_core/initializer/extension_set.rb', line 19 def initialize @extensions = [] @access_lock = Mutex.new end |
Instance Attribute Details
#extensions ⇒ Array<SmartCore::Initializer::InitializationExtension> (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
13 14 15 |
# File 'lib/smart_core/initializer/extension_set.rb', line 13 def extensions @extensions end |
Instance Method Details
#add_extension(extension) ⇒ void Also known as: <<
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
29 30 31 |
# File 'lib/smart_core/initializer/extension_set.rb', line 29 def add_extension(extension) thread_safe { extensions << extension } end |
#concat(extension_set) ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
61 62 63 |
# File 'lib/smart_core/initializer/extension_set.rb', line 61 def concat(extension_set) thread_safe { extensions.concat(extension_set.dup.extensions) } end |
#dup ⇒ SmartCore::Initializer::ExtensionSet
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
38 39 40 41 42 43 44 45 46 |
# File 'lib/smart_core/initializer/extension_set.rb', line 38 def dup thread_safe do self.class.new.tap do |duplicate| extensions.each do |extension| duplicate.add_extension(extension.dup) end end end end |
#each(&block) ⇒ Enumerable
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
52 53 54 |
# File 'lib/smart_core/initializer/extension_set.rb', line 52 def each(&block) thread_safe { block_given? ? extensions.each(&block) : extensions.each } end |