[Jifty-commit] r6132 - in Net-Jifty/branches/classbuilder: .
Jifty commits
jifty-commit at lists.jifty.org
Tue Dec 16 23:32:18 EST 2008
Author: sartak
Date: Tue Dec 16 23:32:18 2008
New Revision: 6132
Added:
Net-Jifty/branches/classbuilder/lib/Net/Jifty/
Net-Jifty/branches/classbuilder/lib/Net/Jifty/Record.pm
Modified:
Net-Jifty/branches/classbuilder/ (props changed)
Net-Jifty/branches/classbuilder/Makefile.PL
Log:
r77623 at onn: sartak | 2008-12-16 23:32:14 -0500
Begin a Net::Jifty::Record, base class for all these wonderful things
Modified: Net-Jifty/branches/classbuilder/Makefile.PL
==============================================================================
--- Net-Jifty/branches/classbuilder/Makefile.PL (original)
+++ Net-Jifty/branches/classbuilder/Makefile.PL Tue Dec 16 23:32:18 2008
@@ -3,13 +3,15 @@
name 'Net-Jifty';
all_from 'lib/Net/Jifty.pm';
-requires 'Moose' => '0.50';
-requires 'LWP::UserAgent';
-requires 'YAML';
-requires 'URI';
+requires 'Moose' => '0.50';
+requires 'MooseX::AttributeHelpers';
-build_requires 'Test::More';
-build_requires 'Test::MockObject';
+requires 'LWP::UserAgent';
+requires 'YAML';
+requires 'URI';
+
+build_requires 'Test::More';
+build_requires 'Test::MockObject';
features(
'Date loading' => [
Added: Net-Jifty/branches/classbuilder/lib/Net/Jifty/Record.pm
==============================================================================
--- (empty file)
+++ Net-Jifty/branches/classbuilder/lib/Net/Jifty/Record.pm Tue Dec 16 23:32:18 2008
@@ -0,0 +1,41 @@
+package Net::Jifty::Record;
+use Moose;
+use MooseX::AttributeHelpers;
+
+has auto_update => (
+ is => 'rw',
+ isa => 'Bool',
+ default => 1,
+);
+
+has _changes => (
+ metaclass => 'Collection::Array',
+ is => 'rw',
+ isa => 'ArrayRef',
+ default => sub { [] },
+ provides => {
+ push => 'add_change',
+ size => 'has_changes',
+ splice => 'clear_changes',
+ },
+);
+
+sub update {
+ my $self = shift;
+ return unless $self->has_changes;
+ my @changes = $self->clear_changes;
+ for my $change (@changes) {
+ $self->send_change($change);
+ }
+}
+
+sub DEMOLISH {
+ my $self = shift;
+ $self->update if $self->has_changes;
+}
+
+__PACKAGE__->meta->make_immutable;
+no Moose;
+
+1;
+
More information about the Jifty-commit
mailing list