File Coverage

blib/lib/SQL/Translator/Schema/Role/Compare.pm
Criterion Covered Total %
statement 11 11 100.0
branch 4 6 66.6
condition n/a
subroutine 3 3 100.0
pod 1 1 100.0
total 19 21 90.4


line stmt bran cond sub pod time code
1             package SQL::Translator::Schema::Role::Compare;
2              
3             =head1 NAME
4              
5             SQL::Translator::Schema::Role::Compare - compare objects
6              
7             =head1 SYNOPSIS
8              
9             package Foo;
10             use Moo;
11             with qw(SQL::Translator::Schema::Role::Compare);
12              
13             $obj->equals($other);
14              
15             =head1 DESCRIPTION
16              
17             This L provides a method to compare if two objects are the
18             same.
19              
20             =cut
21              
22 77     77   48469 use Moo::Role;
  77         220  
  77         577  
23              
24             =head1 METHODS
25              
26             =head2 equals
27              
28             Determines if this object is the same as another.
29              
30             my $isIdentical = $object1->equals( $object2 );
31              
32             =cut
33              
34             sub equals {
35 952     952 1 1814 my $self = shift;
36 952         1540 my $other = shift;
37              
38 952 50       2956 return 0 unless $other;
39 952 100       14928 return 1 if overload::StrVal($self) eq overload::StrVal($other);
40 871 50       11037 return 0 unless $other->isa(ref($self));
41 871         3489 return 1;
42             }
43              
44             sub _compare_objects {
45              
46             # my ($self, $obj1, $obj2) = @_;
47              
48 615     615   6196 my $result = (Data::Dumper->new([ $_[1] ])->Terse(1)->Indent(0)->Deparse(1)
49             ->Sortkeys(1)->Maxdepth(0)->Dump eq Data::Dumper->new([ $_[2] ])->Terse(1)->Indent(0)->Deparse(1)
50             ->Sortkeys(1)->Maxdepth(0)->Dump);
51              
52             # if ( !$result ) {
53             # use Carp qw(cluck);
54             # cluck("How did I get here?");
55             # use Data::Dumper;
56             # $Data::Dumper::Maxdepth = 1;
57             # print "obj1: ", Dumper($obj1), "\n";
58             # print "obj2: ", Dumper($obj2), "\n";
59             # }
60 615         97316 return $result;
61             }
62              
63             1;