X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FObject.pm;h=89bd8cac9cccda0cba92355431fd8c49f60be373;hp=a6411291d9a3ab4696359889849f0dddb7e97367;hb=53875581c2449e237cc1135b8c2cf1674a874aed;hpb=8536d351614f3b40a7fba3847438fb4803b2559b diff --git a/lib/Mouse/Object.pm b/lib/Mouse/Object.pm index a641129..89bd8ca 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 qw(does dump); 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 { @@ -66,24 +66,6 @@ sub DEMOLISHALL { return; } -sub dump { - my($self, $maxdepth) = @_; - - require 'Data/Dumper.pm'; # we don't want to create its namespace - my $dd = Data::Dumper->new([$self]); - $dd->Maxdepth($maxdepth || 1); - return $dd->Dump(); -} - - -sub does { - my ($self, $role_name) = @_; - (defined $role_name) - || confess "You must supply a role name to does()"; - - return $self->meta->does_role($role_name); -}; - 1; __END__