class Diagram

Diagram. @class_description

A Diagram library's implementation.

Diagram. @class_description

A Diagram library's implementation. Implements Diagram's interface.

Constants

BACKWARD_ARROW

Private constants.

DIAGRAMMABLE
FORWARD_ARROW
PIPE
SPACE
VERSION

Public Class Methods

backward_arrow() click to toggle source

self.backward_arrow(). @description

Gets a backward arrow symbol.

@return [String]

BACKWARD_ARROW'S reference.
# File lib/diagram_impl.rb, line 60
def self.backward_arrow()
  return BACKWARD_ARROW
end
build(inst = nil) click to toggle source

self.build(inst = nil). @description

Builds an instance's diagram.

@param inst [.]

Any diagrammable instance.

@return [.]

The instance's Diagram kind instance.
# File lib/diagram_impl.rb, line 42
def self.build(inst = nil)

  case
  when inst.instance_of?(Node)
    return NodeDiagram.new(inst)
  when inst.instance_of?(LinkedList)
    return LLDiagram.new(inst)
  when !self.verify_diagrammable(inst)
    raise(ArgumentError, "#{inst} is not a diagrammable class instance.")
  end

end
diagrammable() click to toggle source

self.diagrammable(). @description

Gets DIAGRAMMABLE.

@return [Set]

DIAGRAMMABLE's reference.
# File lib/diagram_impl.rb, line 19
def self.diagrammable()
  return DIAGRAMMABLE
end
forward_arrow() click to toggle source

self.forward_arrow(). @description

Gets a forward arrow symbol.

@return [String]

FORWARD_ARROW's reference.
# File lib/diagram_impl.rb, line 69
def self.forward_arrow()
  return FORWARD_ARROW
end
pipe() click to toggle source

self.pipe(). @description

Gets a vertical line symbol.

@return [String]

PIPE's reference.
# File lib/diagram_impl.rb, line 78
def self.pipe()
  return PIPE
end
space() click to toggle source

self.space(). @description

Gets a space character.

@return [String]

SPACE's reference.
# File lib/diagram_impl.rb, line 87
def self.space()
  return SPACE
end
verify_diagrammable(inst = nil) click to toggle source

self.verify_diagrammable(inst = nil). @description

Verifies an instance is diagrammable.

@param inst [.]

Any instance.

@return [TrueClass, FalseClass]

True in the case the argument is a Diagrammable class instance. False
otherwise.
# File lib/diagram_impl.rb, line 31
def self.verify_diagrammable(inst = nil)
  return DIAGRAMMABLE.include?(inst.class())
end