Class: VisualizeRuby::Graph

Inherits:
Object
  • Object
show all
Defined in:
lib/visualize_ruby/graph.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ruby_code:, name: nil) ⇒ Graph

Returns a new instance of Graph.



5
6
7
8
# File 'lib/visualize_ruby/graph.rb', line 5

def initialize(ruby_code:, name: nil)
  @name          = name.to_s
  @nodes, @edges = Parser.new(ruby_code).parse
end

Instance Attribute Details

#edgesObject (readonly)

Returns the value of attribute edges.



3
4
5
# File 'lib/visualize_ruby/graph.rb', line 3

def edges
  @edges
end

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/visualize_ruby/graph.rb', line 3

def name
  @name
end

#nodesObject (readonly)

Returns the value of attribute nodes.



3
4
5
# File 'lib/visualize_ruby/graph.rb', line 3

def nodes
  @nodes
end

Instance Method Details

#to_hashObject



10
11
12
13
14
15
16
# File 'lib/visualize_ruby/graph.rb', line 10

def to_hash
  {
      name:  name,
      edges: edges.map(&:to_a),
      nodes: nodes.map(&:to_a),
  }
end