class Ordinary::Unit
Attributes
arguments[R]
process[R]
requirements[R]
Public Class Methods
new(original_unit, requirements = nil, arguments = [], &process)
click to toggle source
# File lib/ordinary/unit.rb, line 33 def initialize(original_unit, requirements = nil, arguments = [], &process) raise ArgumentError, 'block not supplied' unless block_given? @original_unit = original_unit @requirements = requirements @arguments = arguments @process = process end
Public Instance Methods
inspect()
click to toggle source
# File lib/ordinary/unit.rb, line 57 def inspect original_owner = '' if @original_unit argument_list = @arguments.map(&:inspect) * ', ' original_owner = " (#{@original_unit.owner} with [#{argument_list}])" end "#<#{instance_id} #{owner}#{original_owner}>" end
to_proc()
click to toggle source
# File lib/ordinary/unit.rb, line 51 def to_proc @requirements.load if @requirements and !@requirements.loaded? args = @arguments + (@original_unit ? @original_unit.arguments : []) lambda { |value| @process.call(value, *args) } end
with(*arguments)
click to toggle source
# File lib/ordinary/unit.rb, line 47 def with(*arguments) self.class.new(self, @requirements, arguments, &@process) end