14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/yard/dry/initializer/option_handler.rb', line 14
def process
super
unless constructor.tags('param').find { |t| t.name == 'options' }
constructor.parameters << ['**options', nil]
constructor.add_tag(YARD::Tags::Tag.new(:param, nil, ['Hash'], 'options'))
end
existing_tag = constructor.tags('option').find { |t| t.pair.name == definition_name }
= self. || existing_tag&.pair&.text
default = default_string && [default_string] || existing_tag&.pair&.defaults
option = YARD::Tags::DefaultTag.new(:option, , nil, definition_name, default)
if existing_tag
existing_tag.pair = option
else
constructor.add_tag(YARD::Tags::OptionTag.new(:option, 'options', option))
end
end
|