Sha256: 3bce36c42cfecd8be493045908ee1880b2877f2d71fe5efcd0da6f8b5c7bd561

Contents?: true

Size: 792 Bytes

Versions: 3

Compression:

Stored size: 792 Bytes

Contents

module Dry::Initializer
  # Shared scope for several params and options
  class Scope
    # Defines param with shared settings
    #
    # @param  (see Dry::Initializer::Mixin#param)
    # @option (see Dry::Initializer::Mixin#param)
    # @return (see Dry::Initializer::Mixin#param)
    #
    def param(name, **options)
      @klass.param name, @options.merge(options)
    end

    # Defines option with shared settings
    #
    # @param  (see Dry::Initializer::Mixin#option)
    # @option (see Dry::Initializer::Mixin#option)
    # @return (see Dry::Initializer::Mixin#option)
    #
    def option(name, **options)
      @klass.option name, @options.merge(options)
    end

    private

    def initialize(klass, **options)
      @klass   = klass
      @options = options
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dry-initializer-0.8.1 lib/dry/initializer/scope.rb
dry-initializer-0.8.0 lib/dry/initializer/scope.rb
dry-initializer-0.7.0 lib/dry/initializer/scope.rb