Class: Chainer::Class

Inherits:
Object
  • Object
show all
Defined in:
lib/chainer/class.rb

Overview

Pipes objects with call method

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ Class

Initializes pipe wrapper

Parameters:

  • value (Object, #call)

    Value to be wrapped and sent to the next in the pipe



14
15
16
17
# File 'lib/chainer/class.rb', line 14

def initialize(value)
  @value = value.is_a?(self.class) ? value.value : value
  freeze
end

Instance Attribute Details

#valueObject (readonly)

Returns the value of attribute value.



9
10
11
# File 'lib/chainer/class.rb', line 9

def value
  @value
end

Instance Method Details

#>>(object) ⇒ self

Returns Wrapped result of calculations.

Parameters:

  • object (#call)

    Next object in the pipe which going to be called

Returns:

  • (self)

    Wrapped result of calculations



25
26
27
# File 'lib/chainer/class.rb', line 25

def >>(object) # rubocop:disable Style/OpMethod
  self.class.new object.(value)
end