Sha256: 48d6c5e23ea20ec1982110e47014674c9a5fa31aa41aa6fb7d1b5cebf87ae15e

Contents?: true

Size: 556 Bytes

Versions: 3

Compression:

Stored size: 556 Bytes

Contents

# frozen_string_literal: true

require_relative 'step'

module Nocode
  class StepRegistry < Util::ClassRegistry
    include Singleton

    PREFIX = 'Nocode::Steps::'
    DIR    = File.join(__dir__, 'steps')

    class << self
      extend Forwardable

      def_delegators :instance,
                     :register,
                     :constant!,
                     :add,
                     :load!
    end

    def load!
      files_loaded = Util::ClassLoader.new(DIR).load!

      load(files_loaded, PREFIX)
    end
  end

  StepRegistry.load!
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nocode-0.0.3 lib/nocode/step_registry.rb
nocode-0.0.2 lib/nocode/step_registry.rb
nocode-0.0.1 lib/nocode/step_registry.rb