Class: Graph::Thingy

Inherits:
Struct show all
Defined in:
lib/graph.rb

Overview

You know… THINGY!

Has a pointer back to its graph parent and attributes.

Direct Known Subclasses

Edge, Node

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(graph) ⇒ Thingy

:nodoc:



518
519
520
# File 'lib/graph.rb', line 518

def initialize graph # :nodoc:
  super graph, []
end

Instance Attribute Details

#attributesObject

Returns the value of attribute attributes

Returns:

  • (Object)

    the current value of attributes



517
518
519
# File 'lib/graph.rb', line 517

def attributes
  @attributes
end

#graphObject

Returns the value of attribute graph

Returns:

  • (Object)

    the current value of graph



517
518
519
# File 'lib/graph.rb', line 517

def graph
  @graph
end

Instance Method Details

#attributes?Boolean

Does this thing have attributes?

Returns:

  • (Boolean)


539
540
541
# File 'lib/graph.rb', line 539

def attributes?
  not self.attributes.empty?
end

#initialize_copy(other) ⇒ Object

:nodoc:



522
523
524
525
# File 'lib/graph.rb', line 522

def initialize_copy other # :nodoc:
  super
  self.attributes = other.attributes.dup
end

#label(name) ⇒ Object

Shortcut method to set the label attribute.



530
531
532
533
534
# File 'lib/graph.rb', line 530

def label name
  attributes.reject! { |s| s =~ /^label =/ }
  attributes << "label = #{Graph.escape_label name}"
  self
end