diff options
author | dakkar <dakkar@thenautilus.net> | 2011-03-27 14:33:59 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2011-03-27 14:37:30 +0100 |
commit | c9af26b1194f693cd55fd9a7850bc168aeba7d27 (patch) | |
tree | f15e7ac877c3b9e3428318c7d91897665b54a581 /lib/DeWeave/EDO.pm | |
parent | many more BrowserObjects (diff) | |
download | DeWeave-c9af26b1194f693cd55fd9a7850bc168aeba7d27.tar.gz DeWeave-c9af26b1194f693cd55fd9a7850bc168aeba7d27.tar.bz2 DeWeave-c9af26b1194f693cd55fd9a7850bc168aeba7d27.zip |
rework object creation
now we unpack args before calling ->new
Diffstat (limited to 'lib/DeWeave/EDO.pm')
-rw-r--r-- | lib/DeWeave/EDO.pm | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/DeWeave/EDO.pm b/lib/DeWeave/EDO.pm index 81250d2..55422f7 100644 --- a/lib/DeWeave/EDO.pm +++ b/lib/DeWeave/EDO.pm @@ -2,9 +2,6 @@ package DeWeave::EDO; use Moose; use namespace::autoclean; use MooseX::Types::Moose qw(Int Str Num Bool); -use JSON::Any; -use Try::Tiny; -use DeWeave::Exception::Deleted; extends 'DeWeave::WBO'; @@ -35,34 +32,4 @@ has deleted => ( is => 'ro', ); -around BUILDARGS => sub { - my $orig = shift; - my $class = shift; - - my $args = $class->$orig(@_); - return $args unless defined $args->{__crypt}; - return $args unless exists $args->{ciphertext}; - - my $decrypted_payload = $args->{__crypt}->decrypt($args); - - if (defined $decrypted_payload) { - my $j = JSON::Any->new; - my $extra_args = $j->decode($decrypted_payload); - - @$args{keys %$extra_args} = - values %$extra_args; - } - - delete @$args{grep {!defined $args->{$_}} keys %$args}; - - $class->_debug_data('buildargs: ',$args); - - if ($args->{deleted}) { - delete $args->{__crypt}; - die DeWeave::Exception::Deleted->new({args=>$args}); - } - - return $args; -}; - 1; |