Sha256: 15a3b04e61c52ad9e3fedc378ecfe64c8cc581d4377f8b4f1dad699e37431109

Contents?: true

Size: 546 Bytes

Versions: 3

Compression:

Stored size: 546 Bytes

Contents

# frozen_string_literal: true

module Floe
  class Workflow
    module States
      module NonTerminalMixin
        def finish
          context.next_state = end? ? nil : @next
          super
        end

        def validate_state_next!
          raise Floe::InvalidWorkflowError, "Missing \"Next\" field in state [#{name}]" if @next.nil? && !@end
          raise Floe::InvalidWorkflowError, "\"Next\" [#{@next}] not in \"States\" for state [#{name}]" if @next && !workflow.payload["States"].key?(@next)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
floe-0.11.0 lib/floe/workflow/states/non_terminal_mixin.rb
floe-0.10.0 lib/floe/workflow/states/non_terminal_mixin.rb
floe-0.9.0 lib/floe/workflow/states/non_terminal_mixin.rb