Sha256: 50d620d3d226142615f15b26bf36daa6951a37328ffe1c77eb36c29040e708d7

Contents?: true

Size: 684 Bytes

Versions: 1

Compression:

Stored size: 684 Bytes

Contents

# frozen_string_literal: true

module Grumlin
  class Step < AnonymousStep
    attr_reader :client

    def initialize(client, name, *args, previous_steps: [])
      super(name, *args, previous_steps: previous_steps)
      @client = client
    end

    def next
      @enum ||= toList.to_enum
      @enum.next
    end

    def toList # rubocop:disable Naming/MethodName
      @toList ||= @client.submit(*steps) # rubocop:disable Naming/VariableName
    end

    def iterate
      @client.submit(*(steps + [nil]))
    end

    private

    def add_step(step_name, args, previous_steps:)
      self.class.new(@client, step_name, *args, previous_steps: previous_steps)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
grumlin-0.2.0 lib/grumlin/step.rb