Graphviz-DSL
view release on metacpan or search on metacpan
lib/Graphviz/DSL/Component.pm view on Meta::CPAN
package Graphviz::DSL::Component;
use strict;
use warnings;
sub update_attributes {
my ($self, $attrs) = @_;
OUTER:
for my $attr (@{$attrs}) {
my ($key, $val) = @{$attr};
for my $old_attr (@{$self->{attributes}}) {
my ($old_key, $old_val) = @{$old_attr};
if ($key eq $old_key) {
$old_attr->[1] = $val;
lib/Graphviz/DSL/Graph.pm view on Meta::CPAN
}
if ($is_join) {
my $joined = join q{,}, @strs;
return "[${joined}]";
} else {
return \@strs;
}
}
sub update_attrs {
my ($self, $attr_key, @args) = @_;
OUTER:
while (my ($key, $val) = splice @args, 0, 2) {
for my $old_attr (@{$self->{$attr_key}}) {
my ($old_key, $old_val) = @{$old_attr};
if ($key eq $old_key) {
$old_attr->[1] = $val;
next OUTER;
lib/Graphviz/DSL/Node.pm view on Meta::CPAN
$str .= qq{:"$self->{port}"};
}
if ($self->{compass}) {
$str .= ":$self->{compass}";
}
return $str;
}
sub update_attributes {
my ($self, $attrs) = @_;
OUTER:
for my $attr (@{$attrs}) {
my ($key, $val) = @{$attr};
for my $old_attr (@{$self->{attributes}}) {
my ($old_key, $old_val) = @{$old_attr};
if ($key eq $old_key) {
$old_attr->[1] = $val;
lib/Graphviz/DSL/Node.pm view on Meta::CPAN
}
my ($comp1, $comp2) = map { defined $_ ? $_ : '' } ($self->{compass}, $node->{compass});
unless ($comp1 eq $comp2) {
return 0;
}
return 1;
}
sub update {
my ($self, $node_id) = @_;
my ($id, $port, $compass) = parse_id($node_id);
# id is same
$self->{port} = $port;
$self->{compass} = $compass;
}
# accessor
( run in 0.320 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )