Sha256: 7a8a5fcd2411dd7a04e771c5c36a1765db749f96ff4a037cc6415c6f77aa0695

Contents?: true

Size: 860 Bytes

Versions: 7

Compression:

Stored size: 860 Bytes

Contents

# coding: utf-8
# frozen_string_literal: true

module Stealth
  class Controller
    module DevJumps

      DEV_JUMP_REGEX = /\A\/(.*)\/(.*)\z|\A\/\/(.*)\z|\A\/(.*)\z/

      extend ActiveSupport::Concern

      included do
        private

        def dev_jump_detected?
          if Stealth.env.development?
            if current_message.message&.match(DEV_JUMP_REGEX)
              handle_dev_jump
              return true
            end
          end

          false
        end

        def handle_dev_jump
          _, flow, state = current_message.message.split('/')
          flow = nil if flow.blank?

          Stealth::Logger.l(
            topic: 'dev_jump',
            message: "Dev Jump detected: Flow: #{flow.inspect} State: #{state.inspect}"
          )

          step_to flow: flow, state: state
        end
      end

    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
stealth-2.0.0.beta7 lib/stealth/controller/dev_jumps.rb
stealth-2.0.0.beta6 lib/stealth/controller/dev_jumps.rb
stealth-2.0.0.beta5 lib/stealth/controller/dev_jumps.rb
stealth-2.0.0.beta4 lib/stealth/controller/dev_jumps.rb
stealth-2.0.0.beta3 lib/stealth/controller/dev_jumps.rb
stealth-2.0.0.beta2 lib/stealth/controller/dev_jumps.rb
stealth-2.0.0.beta1 lib/stealth/controller/dev_jumps.rb