Module: Ariadne::Yard::DryInitializer::CommonHandler

Included in:
OptionHandler, ParamHandler
Defined in:
lib/ariadne/yard/dry_initializer/common_handler.rb

Instance Method Summary collapse

Instance Method Details

#processObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/ariadne/yard/dry_initializer/common_handler.rb', line 7

def process
  return unless reader?

  # Define reader method
  object = YARD::CodeObjects::MethodObject.new(namespace, reader_name)
  register(object)
  object.visibility = reader_visibility
  object.dynamic = true
  doc = "Reader method for the +#{definition_name}+ initializer parameter."
  object.docstring = [comment, doc].compact.join("\n\n")

  # Register as attribute unless it is already registered
  return if namespace.attributes[:instance].key?(reader_name.to_sym)

  namespace.attributes[:instance][reader_name.to_sym] = { read: object }
end