class Dry::Initializer::Builders::Initializer
@private
def self.[](config)
def self.[](config) new(config).call end
def call
def call lines.flatten.compact.join("\n") end
def define_line
def define_line "private def __dry_initializer_initialize__(#{Signature[@config]})" end
def end_line
def end_line "end" end
def initialize(config)
def initialize(config) @config = config @definitions = config.definitions.values end
def lines
def lines [ undef_line, define_line, params_lines, options_lines, end_line ] end
def options_lines
def options_lines @definitions.select(&:option).flat_map { Attribute[_1] }.map { " #{_1}" } end
def params_lines
def params_lines @definitions.reject(&:option).flat_map { Attribute[_1] }.map { " #{_1}" } end
def undef_line
def undef_line "undef :__dry_initializer_initialize__" \ " if private_method_defined? :__dry_initializer_initialize__" end