module RubyToUML::UMLInfoGenerator
Constants
- ClassInfo
- InstanceMethodInfo
- ModuleInfo
- RelationshipInfo
- SingletonMethodInfo
Public Class Methods
process_code(code)
click to toggle source
# File lib/ruby_to_uml/uml_info_generator/uml_info_generator.rb, line 30 def self.process_code(code) top_level_node = Parser::CurrentRuby.parse(code) parse_ast_to_uml_info(top_level_node) end
process_file(file_path)
click to toggle source
# File lib/ruby_to_uml/uml_info_generator/uml_info_generator.rb, line 25 def self.process_file(file_path) top_level_node = Parser::CurrentRuby.parse_file(file_path) parse_ast_to_uml_info(top_level_node) end
process_files(file_paths)
click to toggle source
# File lib/ruby_to_uml/uml_info_generator/uml_info_generator.rb, line 9 def self.process_files(file_paths) uml_infos = file_paths.each_with_object([]) do |file_path, uml_infos| uml_infos << process_file(file_path) end uml_infos.reduce(:merge) end
process_multiple_code_snippets(code_snippets)
click to toggle source
# File lib/ruby_to_uml/uml_info_generator/uml_info_generator.rb, line 17 def self.process_multiple_code_snippets(code_snippets) uml_infos = code_snippets.each_with_object([]) do |code, uml_infos| uml_infos << process_code(code) end uml_infos.reduce(:merge) end
Private Class Methods
parse_ast_to_uml_info(top_level_node)
click to toggle source
# File lib/ruby_to_uml/uml_info_generator/uml_info_generator.rb, line 35 def self.parse_ast_to_uml_info(top_level_node) processor = ASTProcessor.new processor.process(top_level_node) UMLInfo.new(processor.classes, processor.modules, processor.relationships) end