[Jifty-commit] r6144 - in Net-Jifty/branches/classbuilder: .
Jifty commits
jifty-commit at lists.jifty.org
Wed Dec 17 00:23:56 EST 2008
Author: sartak
Date: Wed Dec 17 00:23:56 2008
New Revision: 6144
Modified:
Net-Jifty/branches/classbuilder/ (props changed)
Net-Jifty/branches/classbuilder/lib/Net/Jifty/Meta/Instance.pm
Log:
r77647 at onn: sartak | 2008-12-17 00:23:53 -0500
First stab at get_slot_value
Modified: Net-Jifty/branches/classbuilder/lib/Net/Jifty/Meta/Instance.pm
==============================================================================
--- Net-Jifty/branches/classbuilder/lib/Net/Jifty/Meta/Instance.pm (original)
+++ Net-Jifty/branches/classbuilder/lib/Net/Jifty/Meta/Instance.pm Wed Dec 17 00:23:56 2008
@@ -2,7 +2,24 @@
use Moose;
extends 'Moose::Meta::Instance';
+around get_slot_value => {
+ my $orig = shift;
+ my ($self, $instance, $slot_name) = @_;
+ my $value = $orig->(@_);
+ return $value if defined($value);
+
+ # have we already asked the server for this record?
+ if (!exists($instance->{__net_jifty_cache})) {
+ # ask the server
+ $instance->{__net_jifty_cache} = $connection->read(
+ $self->associated_metaclass->model_name,
+ id => $instance->id,
+ );
+ }
+
+ return $instance->{$slot_name} = delete $instance->{__net_jifty_cache};
+};
__PACKAGE__->meta->make_immutable;
no Moose;
More information about the Jifty-commit
mailing list