class Dry::Initializer::Builders::Signature

@private

Public Class Methods

[](config) click to toggle source
# File lib/dry/initializer/builders/signature.rb, line 8
def self.[](config)
  new(config).call
end
new(config) click to toggle source
# File lib/dry/initializer/builders/signature.rb, line 18
def initialize(config)
  @config  = config
  @options = config.options.any?
  @null    = config.null ? "Dry::Initializer::UNDEFINED" : "nil"
end

Public Instance Methods

call() click to toggle source
# File lib/dry/initializer/builders/signature.rb, line 12
def call
  [*required_params, *optional_params, "*", options].compact.join(", ")
end

Private Instance Methods

optional_params() click to toggle source
# File lib/dry/initializer/builders/signature.rb, line 28
def optional_params
  @config.params.select(&:optional).map { |rec| "#{rec.source} = #{@null}" }
end
options() click to toggle source
# File lib/dry/initializer/builders/signature.rb, line 32
def options
  "**__dry_initializer_options__" if @options
end
required_params() click to toggle source
# File lib/dry/initializer/builders/signature.rb, line 24
def required_params
  @config.params.reject(&:optional).map(&:source)
end