class Archruby::Architecture::Architecture
Attributes
constraints_breaks[R]
modules[R]
unknown_module[R]
Public Class Methods
new(modules)
click to toggle source
# File lib/archruby/architecture/architecture.rb, line 7 def initialize(modules) @modules = modules @constraints_breaks = [] @unknown_module = @modules.select{ |module_definition| module_definition.name == "unknown" }.first end
Public Instance Methods
how_many_access_to(module_origin, module_dest)
click to toggle source
# File lib/archruby/architecture/architecture.rb, line 50 def how_many_access_to(module_origin, module_dest) module_origin = search_module module_origin count = 0 module_origin.classes_and_dependencies.each do |class_dependencies| class_dependencies.each do |klass, dependencies| dependencies.each do |dependency| dependency_module_name = module_name dependency.class_name if dependency_module_name == module_dest count += 1 end end end end count end
how_many_break(module_name, module_target, constraint_type)
click to toggle source
# File lib/archruby/architecture/architecture.rb, line 24 def how_many_break(module_name, module_target, constraint_type) raise ArchitectureNotVerified if @constraints_breaks.empty? count = 0 @constraints_breaks.each do |constraint_break| if constraint_break.type == constraint_type && constraint_break.module_origin == module_name && constraint_break.module_target == module_target count += 1 end end count end
is_ruby_internals?(module_name)
click to toggle source
# File lib/archruby/architecture/architecture.rb, line 66 def is_ruby_internals?(module_name) module_name == Archruby::Ruby::STD_LIB_NAME || module_name == Archruby::Ruby::CORE_LIB_NAME end
module_name(class_name)
click to toggle source
# File lib/archruby/architecture/architecture.rb, line 35 def module_name(class_name) module_name_to_return = '' @modules.each do |module_name| if module_name.is_mine? class_name module_name_to_return = module_name.name break end end if module_name_to_return.eql? '' @unknown_module.name else module_name_to_return end end
verify()
click to toggle source
# File lib/archruby/architecture/architecture.rb, line 13 def verify @modules.each do |module_name| contraints_breaks = module_name.verify_constraints(self) if !contraints_breaks.empty? @constraints_breaks << contraints_breaks end end @constraints_breaks = @constraints_breaks.flatten @constraints_breaks end
Private Instance Methods
search_module(module_name)
click to toggle source
# File lib/archruby/architecture/architecture.rb, line 72 def search_module(module_name) @modules.each do |module_definition| if module_definition.name == module_name return module_definition end end end