Sha256: d825093a865273e6f6e22e6ceee5ebc428432011b7b9f658fd953febc3bd5023

Contents?: true

Size: 314 Bytes

Versions: 2

Compression:

Stored size: 314 Bytes

Contents

# frozen_string_literal: true

module Pipeable
  # Allows objects to be functionally composable.
  module Composable
    def >>(other) = method(:call) >> other

    def <<(other) = method(:call) << other

    def call = fail NotImplementedError, "`#{self.class.name}##{__method__}` must be implemented."
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pipeable-0.2.0 lib/pipeable/composable.rb
pipeable-0.1.0 lib/pipeable/composable.rb