Class: RailsAiBridge::RubydexAdapter::Serializer::DetailedDeclarationMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_ai_bridge/rubydex_adapter/serializer.rb

Overview

Handles mapping of a rubydex declaration to a detailed hash to avoid Feature Envy.

Instance Method Summary collapse

Constructor Details

#initialize(decl, root) ⇒ DetailedDeclarationMapper

Returns a new instance of DetailedDeclarationMapper.



35
36
37
38
# File 'lib/rails_ai_bridge/rubydex_adapter/serializer.rb', line 35

def initialize(decl, root)
  @decl = decl
  @root = root
end

Instance Method Details

#to_hObject



40
41
42
43
44
45
46
47
# File 'lib/rails_ai_bridge/rubydex_adapter/serializer.rb', line 40

def to_h
  Serializer.base_declaration_hash(@decl).merge(
    definitions: mapped_definitions,
    ancestors: mapped_names(:ancestors),
    descendants: mapped_names(:descendants),
    owner: @decl.try(:owner)&.name
  ).compact
end