Class: VisualizeRuby::Builder

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

Instance Method Summary collapse

Constructor Details

#initialize(ruby_code:) ⇒ Builder

Returns a new instance of Builder.



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

def initialize(ruby_code:)
  @ruby_code = ruby_code
end

Instance Method Details

#buildObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/visualize_ruby/builder.rb', line 10

def build
  ruby_code  = DissociatedIntrospection::RubyCode.build_from_source(@ruby_code)
  ruby_class = DissociatedIntrospection::RubyClass.new(ruby_code)

  if ruby_class.class?
    [build_from_class(ruby_class), { label: ruby_class.class_name }]
  elsif bare_methods?(ruby_code)
    wrap_bare_methods(ruby_code)
  else
    Graph.new(ruby_code: @ruby_code)
  end
end