X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FObject.pm;h=8aa22b571fd4529ba032b5fc2e49b4d3378a77d2;hp=a6411291d9a3ab4696359889849f0dddb7e97367;hb=8e64d0fa5da64639074f77d3da9b2f7aa20cce93;hpb=8536d351614f3b40a7fba3847438fb4803b2559b diff --git a/lib/Mouse/Object.pm b/lib/Mouse/Object.pm index a641129..8aa22b5 100644 --- a/lib/Mouse/Object.pm +++ b/lib/Mouse/Object.pm @@ -2,16 +2,16 @@ package Mouse::Object; use strict; use warnings; -use Carp 'confess'; +use Mouse::Util; sub new { my $class = shift; - confess('Cannot call new() on an instance') if ref $class; + $class->throw_error('Cannot call new() on an instance') if ref $class; my $args = $class->BUILDARGS(@_); - my $instance = Mouse::Meta::Class->initialize($class)->new_object($params); + my $instance = Mouse::Meta::Class->initialize($class)->new_object($args); $instance->BUILDALL($args); return $instance; } @@ -21,7 +21,7 @@ sub BUILDARGS { if (scalar @_ == 1) { (ref($_[0]) eq 'HASH') - || confess "Single parameters to new() must be a HASH ref"; + || $class->meta->throw_error("Single parameters to new() must be a HASH ref"); return {%{$_[0]}}; } else { @@ -71,7 +71,7 @@ sub dump { require 'Data/Dumper.pm'; # we don't want to create its namespace my $dd = Data::Dumper->new([$self]); - $dd->Maxdepth($maxdepth || 1); + $dd->Maxdepth(defined($maxdepth) ? $maxdepth : 1); return $dd->Dump(); } @@ -79,7 +79,7 @@ sub dump { sub does { my ($self, $role_name) = @_; (defined $role_name) - || confess "You must supply a role name to does()"; + || $self->meta->throw_error("You must supply a role name to does()"); return $self->meta->does_role($role_name); };