Analizo
view release on metacpan or search on metacpan
lib/Analizo/Model.pm view on Meta::CPAN
foreach my $called_module (sort(keys %{$modules_dependencies->{$calling_module}})) {
my $strength = $modules_dependencies->{$calling_module}->{$called_module};
$graph->add_edge($calling_module, $called_module);
$graph->set_edge_attribute($calling_module, $called_module, 'style', 'solid');
$graph->set_edge_attribute($calling_module, $called_module, 'label', $strength);
}
}
} else {
# listing raw dependency info
foreach my $caller (grep { $self->_include_caller($_, @{$args{omit}}) } sort(keys(%{$self->calls}))) {
foreach my $callee (grep { $self->_include_callee($_, $args{include_externals}, @{$args{omit}}) } sort(keys(%{$self->calls->{$caller}}))) {
my $style = _reftype_to_style($self->calls->{$caller}->{$callee});
$graph->add_edge($caller, $callee);
$graph->set_edge_attribute($caller, $callee, 'style', $style);
$graph->set_vertex_attribute($caller, 'group', $self->_function_to_module($caller));
$graph->set_vertex_attribute($callee, 'group', $self->_function_to_module($callee));
}
}
}
return $graph;
lib/Analizo/Model.pm view on Meta::CPAN
return _file_to_module($self->members->{$function});
}
sub _include_caller {
my ($self, $function, @omitted) = @_;
return !grep { $function eq $_ } @omitted;
}
sub _include_callee {
my ($self, $member, $include_externals, @omitted) = @_;
return $self->_include_caller($member, @omitted) && ( exists($self->members->{$member}) || $include_externals );
}
1;
( run in 0.289 second using v1.01-cache-2.11-cpan-26ccb49234f )