Sha256: ae94077d27b7b2e41319e6ed3bcae9600609e8948b4c849291746fe95cd0a318

Contents?: true

Size: 1.3 KB

Versions: 5

Compression:

Stored size: 1.3 KB

Contents

# frozen_string_literal: true

module Decidim
  module Verifications
    autoload :Adapter, "decidim/verifications/adapter"
    autoload :Registry, "decidim/verifications/registry"

    #
    # Provides direct access to the verification registry
    #
    class << self
      delegate :clear_workflows, to: :registry

      #
      # Restores registered verification workflows to the array being passed in
      #
      # Useful for testing.
      #
      def reset_workflows(*manifests)
        registry.reset_workflows(*manifests)
      end

      #
      # Registers a new verification workflow using the workflow manifest API
      #
      def register_workflow(name, &block)
        registry.register_workflow(name, &block)
      end

      #
      # Finds a verification workflow by name
      #
      def find_workflow_manifest(name)
        workflows.find { |workflow| workflow.name == name.to_s }
      end

      #
      # Collection of registered verification workflows
      #
      def workflows
        registry.workflow_collection
      end

      #
      # Collection of registered verification workflows having an admin engine
      #
      def admin_workflows
        workflows.select(&:admin_engine)
      end

      private

      def registry
        @registry ||= Registry.new
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
decidim-verifications-0.8.4 lib/decidim/verifications/workflows.rb
decidim-verifications-0.8.3 lib/decidim/verifications/workflows.rb
decidim-verifications-0.8.2 lib/decidim/verifications/workflows.rb
decidim-verifications-0.8.1 lib/decidim/verifications/workflows.rb
decidim-verifications-0.8.0 lib/decidim/verifications/workflows.rb