Class: Lagoon::Renderer::ControllerModelErRenderer

Inherits:
BaseRenderer
  • Object
show all
Defined in:
lib/lagoon/renderer/controller_model_er_renderer.rb

Instance Attribute Summary

Attributes inherited from BaseRenderer

#direction

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ControllerModelErRenderer

Returns a new instance of ControllerModelErRenderer.



6
7
8
9
# File 'lib/lagoon/renderer/controller_model_er_renderer.rb', line 6

def initialize(options = {})
  super(direction: options[:direction] || 'TB')
  @show_actions = options.fetch(:show_actions, true)
end

Instance Method Details

#render(parsed_data) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/lagoon/renderer/controller_model_er_renderer.rb', line 11

def render(parsed_data)
  output = ['classDiagram', "    direction #{@direction}", '']

  relationships = parsed_data[:relationships] || []
  return output.join("\n").rstrip if relationships.empty?

  render_classes(output, relationships)
  output << ''

  relationships.sort_by { |rel| [rel[:controller].to_s, rel[:model].to_s] }.each do |rel|
    output << render_relationship(rel)
  end

  output.join("\n").rstrip
end