diff --git a/lib/dry/initializer/definition.rb b/lib/dry/initializer/definition.rb index 27381f1..79195d2 100644 --- a/lib/dry/initializer/definition.rb +++ b/lib/dry/initializer/definition.rb @@ -9,7 +9,8 @@ module Dry::Initializer # class Definition attr_reader :option, :null, :source, :target, :ivar, - :type, :optional, :default, :reader + :type, :optional, :default, :reader, + :desc def options { @@ -17,7 +18,8 @@ def options type: type, optional: optional, default: default, - reader: reader + reader: reader, + desc: desc }.reject { |_, value| value.nil? } end @@ -48,6 +50,7 @@ def initialize(option, null, source, coercer = nil, **options) @reader = prepare_reader options.fetch(:reader, true) @default = check_default options[:default] @optional = options.fetch(:optional, @default) + @desc = options[:desc]&.to_s&.capitalize end def check_source(value) diff --git a/spec/public_attributes_utility_spec.rb b/spec/public_attributes_utility_spec.rb index 12d4577..7983f55 100644 --- a/spec/public_attributes_utility_spec.rb +++ b/spec/public_attributes_utility_spec.rb @@ -5,7 +5,7 @@ before do class Test::Foo extend Dry::Initializer - param :foo, proc(&:to_s) + param :foo, proc(&:to_s), desc: "a weird parameter" option :moo, optional: true option :bar, default: proc { 1 }, reader: false option :baz, optional: true, reader: :protected