Class: Ea::Diagram::ElementRenderers::ConnectorRenderer
- Inherits:
-
BaseRenderer
- Object
- BaseRenderer
- Ea::Diagram::ElementRenderers::ConnectorRenderer
- Defined in:
- lib/ea/diagram/element_renderers/connector_renderer.rb
Overview
Renderer for connector elements (relationships)
Instance Attribute Summary collapse
-
#source_element ⇒ Object
readonly
Returns the value of attribute source_element.
-
#target_element ⇒ Object
readonly
Returns the value of attribute target_element.
Attributes inherited from BaseRenderer
Instance Method Summary collapse
-
#initialize(connector, style_resolver, source_element = nil, target_element = nil) ⇒ ConnectorRenderer
constructor
A new instance of ConnectorRenderer.
-
#render ⇒ String
Render the connector as SVG path.
Methods inherited from BaseRenderer
#escape_text, #render_label, #render_shape
Methods included from Util
#parse_ea_geometry, #parse_geometry_offsets, #style_to_css
Constructor Details
#initialize(connector, style_resolver, source_element = nil, target_element = nil) ⇒ ConnectorRenderer
Returns a new instance of ConnectorRenderer.
10 11 12 13 14 15 |
# File 'lib/ea/diagram/element_renderers/connector_renderer.rb', line 10 def initialize(connector, style_resolver, source_element = nil, target_element = nil) super(connector, style_resolver) @source_element = source_element @target_element = target_element end |
Instance Attribute Details
#source_element ⇒ Object (readonly)
Returns the value of attribute source_element.
8 9 10 |
# File 'lib/ea/diagram/element_renderers/connector_renderer.rb', line 8 def source_element @source_element end |
#target_element ⇒ Object (readonly)
Returns the value of attribute target_element.
8 9 10 |
# File 'lib/ea/diagram/element_renderers/connector_renderer.rb', line 8 def target_element @target_element end |
Instance Method Details
#render ⇒ String
Render the connector as SVG path
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ea/diagram/element_renderers/connector_renderer.rb', line 19 def render path_builder = PathBuilder.new(element, source_element, target_element) path_data = path_builder.build_path style = style_resolver.resolve_connector_style(element) css_classes = ["lutaml-diagram-connector", "lutaml-diagram-connector-#{element[:type]}"] <<~SVG <path d="#{path_data}" class="#{css_classes.join(' ')}" style="#{style_to_css(style)}" data-connector-id="#{element[:id]}" data-connector-type="#{element[:type]}" marker-end="url(#arrowhead)" /> SVG end |