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 )