Class: Julewire::Core::Processing::ProcessorRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/julewire/core/processing/processor_registry.rb

Defined Under Namespace

Classes: Entry

Instance Method Summary collapse

Constructor Details

#initialize(entries = []) ⇒ ProcessorRegistry

Returns a new instance of ProcessorRegistry.



9
10
11
# File 'lib/julewire/core/processing/processor_registry.rb', line 9

def initialize(entries = [])
  @entries = entries.map { normalize_entry(it) }
end

Instance Method Details

#clearObject



21
22
23
24
# File 'lib/julewire/core/processing/processor_registry.rb', line 21

def clear
  @entries.clear
  self
end

#copyObject



30
31
32
# File 'lib/julewire/core/processing/processor_registry.rb', line 30

def copy
  self.class.new(@entries)
end

#freezeObject



34
35
36
37
# File 'lib/julewire/core/processing/processor_registry.rb', line 34

def freeze
  @entries.freeze
  super
end

#prepend(processor = nil, *arguments, **options, &block) ⇒ Object



17
18
19
# File 'lib/julewire/core/processing/processor_registry.rb', line 17

def prepend(processor = nil, *arguments, **options, &block)
  add(resolve_processor(processor, block), arguments, options, prepend: true)
end

#to_aObject



26
27
28
# File 'lib/julewire/core/processing/processor_registry.rb', line 26

def to_a
  @entries.map { materialize(it) }
end

#use(processor = nil, *arguments, **options, &block) ⇒ Object



13
14
15
# File 'lib/julewire/core/processing/processor_registry.rb', line 13

def use(processor = nil, *arguments, **options, &block)
  add(resolve_processor(processor, block), arguments, options, prepend: false)
end