From ae91140cf2604bfc4f9330c876ba4a6a9a0b18e8 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 27 Dec 2014 14:28:17 +0000 Subject: porting to Perl 6! --- lib/Net/Hawk/Errors.pm | 51 +++++++++++++------------------------------------- 1 file changed, 13 insertions(+), 38 deletions(-) (limited to 'lib/Net/Hawk/Errors.pm') diff --git a/lib/Net/Hawk/Errors.pm b/lib/Net/Hawk/Errors.pm index befd142..3172865 100644 --- a/lib/Net/Hawk/Errors.pm +++ b/lib/Net/Hawk/Errors.pm @@ -1,42 +1,17 @@ -package Net::Hawk::Errors; -use strict; -use warnings; -use 5.010; - -package Net::Hawk::Errors::base { - use Moo; - use Types::Standard qw(Str); - with 'Throwable'; - use overload - q{""} => 'as_string', - fallback => 1; - - has message => ( - is => 'ro', - isa => Str, - required => 1, - ); - - sub as_string { $_[0]->message } -}; - -package Net::Hawk::Errors::BadRequest { - use Moo; extends 'Net::Hawk::Errors::base'; +package Net::Hawk::Errors { + use v6; + class base is Exception { + has $.text; + sub message { return "{.text}" } + } - has value => (is => 'ro'); + class BadRequest is base { + has $.value; - sub as_string { - my ($self) = @_; - return sprintf( - '%s (%s)', - $self->message, - $self->value // '', - ); + sub message { + return "{ .text } ({ .value // '' })"; + } } -}; - -package Net::Hawk::Errors::UnAuthorized { - use Moo; extends 'Net::Hawk::Errors::base'; -}; -1; + class UnAuthorized is base {} +} -- cgit v1.2.3