Sha256: d92efd257815b604b8dc05312c8625ad53ff2e116d99737566806fc98c20b41a

Contents?: true

Size: 338 Bytes

Versions: 2

Compression:

Stored size: 338 Bytes

Contents

# frozen_string_literal: true

module Zx
  class Steps
    include Zx::Maybeable

    class << self
      def step(step)
        steps << step
      end

      def steps
        @steps ||= []
      end
    end

    def call
      list = self.class.steps
      list.reduce(Some()) { |result, step| result >> send(step) }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zx-monads-0.0.7 lib/zx/steps.rb
zx-monads-0.0.6 lib/zx/steps.rb