Class: ImageProcessing::Processor
- Inherits:
-
Object
- Object
- ImageProcessing::Processor
show all
- Defined in:
- lib/image_processing/processor.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(accumulator = nil) ⇒ Processor
Returns a new instance of Processor.
18
19
20
|
# File 'lib/image_processing/processor.rb', line 18
def initialize(accumulator = nil)
@accumulator = accumulator
end
|
Class Method Details
.accumulator(name, klass) ⇒ Object
3
4
5
6
7
|
# File 'lib/image_processing/processor.rb', line 3
def self.accumulator(name, klass)
define_method(name) { @accumulator }
protected(name)
const_set(:ACCUMULATOR_CLASS, klass)
end
|
.apply_operation(accumulator, name, *args, &block) ⇒ Object
9
10
11
12
13
14
15
16
|
# File 'lib/image_processing/processor.rb', line 9
def self.apply_operation(accumulator, name, *args, &block)
if (instance_methods - Object.instance_methods).include?(name)
instance = new(accumulator)
instance.public_send(name, *args, &block)
else
accumulator.send(name, *args, &block)
end
end
|
Instance Method Details
#custom(&block) ⇒ Object
22
23
24
|
# File 'lib/image_processing/processor.rb', line 22
def custom(&block)
(block && block.call(@accumulator)) || @accumulator
end
|