Module: Kiba::Extend::Registry::Treeable

Includes:
NodeLabelable
Included in:
FileRegistryEntry
Defined in:
lib/kiba/extend/registry/treeable.rb

Overview

Mixin module for generating dependency tree diagram for entry

Since:

  • 2.2.0

Instance Method Summary collapse

Methods included from NodeLabelable

#node_label

Instance Method Details

#ancestorsObject

Since:

  • 2.2.0



21
22
23
24
25
26
27
# File 'lib/kiba/extend/registry/treeable.rb', line 21

def ancestors
  result = [parents]
  until result.last.empty?
    result << traverse_up(result.last)
  end
  result.flatten.compact
end

#diagramObject

Since:

  • 2.2.0



29
30
31
# File 'lib/kiba/extend/registry/treeable.rb', line 29

def diagram
  Diagrams::FlowchartDiagram.new(nodes: nodes, edges: edges)
end

#mermaidObject

Since:

  • 2.2.0



33
# File 'lib/kiba/extend/registry/treeable.rb', line 33

def mermaid = diagram.to_mermaid

#parentsObject

Since:

  • 2.2.0



13
14
15
16
17
18
19
# File 'lib/kiba/extend/registry/treeable.rb', line 13

def parents
  files = creator.files
  [files[:source], files[:lookup]].compact
    .flatten
rescue NoMethodError
  []
end