Sha256: c47a4575c96e86b96c9771e63a6dda072b5c06db36eb17adf1dc0249ea371832

Contents?: true

Size: 790 Bytes

Versions: 3

Compression:

Stored size: 790 Bytes

Contents

# frozen_string_literal: true

class Solid::Process
  class Config
    SolidModel = ->(klass) do
      return klass if klass.is_a?(::Class) && klass < ::Solid::Model

      raise ArgumentError, "#{klass.inspect} must be a class that includes #{::Solid::Model}"
    end

    attr_reader :input_class, :dependencies_class

    def initialize
      self.input_class = ::Solid::Input
      self.dependencies_class = ::Solid::Input
    end

    def input_class=(klass)
      @input_class = SolidModel[klass]
    end

    def dependencies_class=(klass)
      @dependencies_class = SolidModel[klass]
    end

    alias_method :deps_class, :dependencies_class
    alias_method :deps_class=, :dependencies_class=

    class << self
      attr_reader :instance
    end

    @instance = new
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
solid-process-0.4.0 lib/solid/process/config.rb
solid-process-0.3.0 lib/solid/process/config.rb
solid-process-0.2.0 lib/solid/process/config.rb