Module: Kiba::Extend::Registry::Ancestorable

Includes:
NodeLabelable
Included in:
RegisteredLookup, RegisteredSource
Defined in:
lib/kiba/extend/registry/ancestorable.rb

Overview

Mixin module for getting Node and Edge properties from RegisteredSource and RegisteredLookup objects

Since:

  • 2.2.0

Instance Method Summary collapse

Methods included from NodeLabelable

#node_label

Instance Method Details

#edgeObject

Since:

  • 2.2.0



19
20
21
22
23
24
25
# File 'lib/kiba/extend/registry/ancestorable.rb', line 19

def edge
  Diagrams::Elements::Edge.new(
    source_id: edge_source_id,
    target_id: edge_target_id,
    label: edge_label
  )
end

#edge_labelObject

Since:

  • 2.2.0



31
32
33
34
35
# File 'lib/kiba/extend/registry/ancestorable.rb', line 31

def edge_label
  return "" if source?

  "lookup on :#{lookup_on}"
end

#edge_source_idObject

Since:

  • 2.2.0



27
# File 'lib/kiba/extend/registry/ancestorable.rb', line 27

def edge_source_id = node_id

#edge_target_idObject

Since:

  • 2.2.0



29
# File 'lib/kiba/extend/registry/ancestorable.rb', line 29

def edge_target_id = for_job.to_s

#nodeObject

Since:

  • 2.2.0



13
14
15
# File 'lib/kiba/extend/registry/ancestorable.rb', line 13

def node
  Diagrams::Elements::Node.new(id: node_id, label: node_label)
end

#node_idObject

Since:

  • 2.2.0



17
# File 'lib/kiba/extend/registry/ancestorable.rb', line 17

def node_id = key.to_s

#source?Boolean

Returns:

  • (Boolean)

Since:

  • 2.2.0



37
# File 'lib/kiba/extend/registry/ancestorable.rb', line 37

def source? = is_a?(RegisteredSource)