module RubyToUML::UMLInfoGenerator::ClassAndRelationshipsProcessor

Public Instance Methods

on_class(node) click to toggle source
# File lib/ruby_to_uml/uml_info_generator/processor_helpers.rb, line 145
def on_class(node)
  class_name              = get_class_name(node)
  superclass_name         = get_superclass_name(node)
  class_body_node         = BodyNodeWrapper.new(get_class_body(node))
  instance_methods_info   = class_body_node.array_operation(&get_instance_methods_closure)
  singleton_methods_info  = class_body_node.array_operation(&get_singleton_methods_closure)
  instance_variables_info = class_body_node.array_operation(&get_instance_variables_closure)

  add_inheritence_relationship(class_name, superclass_name) if superclass_name
  class_body_node.simple_operation(&add_module_relationships_if_exist_closure(class_name))

  add_class(class_name, instance_methods_info, singleton_methods_info, instance_variables_info)

  node.updated(nil, process_all(node))
end

Private Instance Methods

add_class(name, instance_methods_info, singleton_methods_info, instance_variables_info) click to toggle source
# File lib/ruby_to_uml/uml_info_generator/processor_helpers.rb, line 163
def add_class(name, instance_methods_info, singleton_methods_info, instance_variables_info)
  classes << ClassInfo.new(name, instance_methods_info, singleton_methods_info, instance_variables_info)
end