[Bps-public-commit] Prophet - A disconnected, replicated p2p database branch, master, updated. 8234d212cec296e5d9adc08f7f0bbd54a9c0d638

sartak at bestpractical.com sartak at bestpractical.com
Mon Feb 9 18:14:17 EST 2009


The branch, master has been updated
       via  8234d212cec296e5d9adc08f7f0bbd54a9c0d638 (commit)
       via  dd2f86ce373594daf67f0b67c010d056ef008b90 (commit)
       via  f6057d1ad5655e5e0d4284623c99b323492c440f (commit)
       via  12e6cafbc6b108b393a2dd2aa91473d46e99f49a (commit)
       via  5820acd7a26d47421869b52cf4b5bcd70d8daef6 (commit)
       via  c2a034851e679c5ea86d42eb4475ce2e23e5f625 (commit)
       via  20a30763348a97ada28f2cc0f285499c5f6fbc0a (commit)
       via  d2f2d812070b56c6a93ccd744c6581b600f1f6b9 (commit)
       via  be6c0c13bcc85da2dd016e51206100cbd9b65d62 (commit)
       via  064c19fe927bc20cdb29fb2f64cda1007fb26968 (commit)
       via  32a7bcd7cba4a0bf05bd8de9542def4aa92892a4 (commit)
       via  36da5f6c6a5517675e389c41a8e167fd289079f9 (commit)
       via  e89caa585c0cdd38048f39690983526471e75b86 (commit)
       via  ec32a36e2298fc757b18b3564b77a6c4f05d609c (commit)
       via  99cf8f4400f79f595f934831cfbf6ce5db235d90 (commit)
       via  cb508b365d5a607481add5f02cd7315599d416aa (commit)
       via  c82ba8bfa19c71343f38f7cce0a85f8362cf4d51 (commit)
       via  1e80df602c6800fdb1dce10dc08865849cd03a19 (commit)
       via  1626dbb3dd784f1b22555af31f3f7967fd2d0ada (commit)
       via  03be2d45954df0efa708a113710654e01f5bd4b7 (commit)
       via  a9f54c6e498a3fe876796ce1b6e15fb9e52998a1 (commit)
       via  0d4a7b3ac05d07250a58a3c2fa9d4576e0b317dd (commit)
       via  8799dcd86b15fc65692656e66ea0c4ec8809da9b (commit)
       via  5c6a55a8d72ca2b257e2ed774c579585b4d63a51 (commit)
       via  460d3c1518a2c8e1b20eb6b6e3e6364d8cf08321 (commit)
       via  de1b10336ce4ab1d21f6d48e47a8972fb2c8bac9 (commit)
       via  8e6b0ce3a9c6f6a80adf836af50c47b2a2ba3a89 (commit)
       via  01c684438de35736fdf925c03a22af193e1ac875 (commit)
       via  fc164402ec79ba4ab998dc7dd46ca9eee1702da4 (commit)
       via  081f1673dd00ed8b2b9ffc1cc9872bc01b3595ca (commit)
       via  34479d64d5e98dbaab03dc03e1b59f7feb0c78a7 (commit)
       via  a24a1122abbdaadd9e95645d9ce014c831cbc288 (commit)
       via  4a5d605775df6a90d255bb63eb07ab1b8c00fb28 (commit)
       via  5d23446377d465a4983ed688749d85d683675b9b (commit)
       via  09f2aa4463a1e64dab1c9f7d0d7594d6dadd31fb (commit)
      from  5c5b2b01759513ec2b77a6c88860aa096aa7eb1b (commit)

Summary of changes:
 Makefile.PL                                        |    5 +-
 lib/Prophet/App.pm                                 |    4 +-
 lib/Prophet/CLI.pm                                 |    6 +--
 lib/Prophet/CLI/CollectionCommand.pm               |    4 +-
 lib/Prophet/CLI/Command.pm                         |   21 ++++----
 lib/Prophet/CLI/Command/Aliases.pm                 |    4 +-
 lib/Prophet/CLI/Command/Clone.pm                   |    4 +-
 lib/Prophet/CLI/Command/Config.pm                  |    4 +-
 lib/Prophet/CLI/Command/Create.pm                  |    4 +-
 lib/Prophet/CLI/Command/Delete.pm                  |    4 +-
 lib/Prophet/CLI/Command/Export.pm                  |    4 +-
 lib/Prophet/CLI/Command/History.pm                 |    4 +-
 lib/Prophet/CLI/Command/Init.pm                    |    4 +-
 lib/Prophet/CLI/Command/Log.pm                     |    4 +-
 lib/Prophet/CLI/Command/Merge.pm                   |    4 +-
 lib/Prophet/CLI/Command/Publish.pm                 |    4 +-
 lib/Prophet/CLI/Command/Pull.pm                    |    4 +-
 lib/Prophet/CLI/Command/Push.pm                    |    4 +-
 lib/Prophet/CLI/Command/Search.pm                  |    4 +-
 lib/Prophet/CLI/Command/Server.pm                  |    4 +-
 lib/Prophet/CLI/Command/Settings.pm                |    4 +-
 lib/Prophet/CLI/Command/Shell.pm                   |    4 +-
 lib/Prophet/CLI/Command/Show.pm                    |    4 +-
 lib/Prophet/CLI/Command/Update.pm                  |    4 +-
 lib/Prophet/CLI/Dispatcher.pm                      |   19 ++-----
 lib/Prophet/CLI/Parameters.pm                      |    4 +-
 lib/Prophet/CLI/PublishCommand.pm                  |    4 +-
 lib/Prophet/CLI/RecordCommand.pm                   |    4 +-
 lib/Prophet/CLI/TextEditorCommand.pm               |    4 +-
 lib/Prophet/CLIContext.pm                          |   55 ++++++++++----------
 lib/Prophet/Change.pm                              |   18 +++---
 lib/Prophet/ChangeSet.pm                           |   26 +++++-----
 lib/Prophet/Collection.pm                          |   20 ++++----
 lib/Prophet/Config.pm                              |   15 ++---
 lib/Prophet/Conflict.pm                            |   20 ++++----
 lib/Prophet/ConflictingChange.pm                   |   16 +++---
 lib/Prophet/ConflictingPropChange.pm               |   12 ++--
 lib/Prophet/DatabaseSetting.pm                     |    6 +-
 lib/Prophet/ForeignReplica.pm                      |    4 +-
 lib/Prophet/Meta/Types.pm                          |    6 +--
 lib/Prophet/PropChange.pm                          |    8 ++--
 lib/Prophet/Record.pm                              |   48 ++++++-----------
 lib/Prophet/Replica.pm                             |    6 +-
 lib/Prophet/Replica/prophet.pm                     |   22 +++++---
 lib/Prophet/Replica/sqlite.pm                      |   20 +++++---
 lib/Prophet/ReplicaExporter.pm                     |    4 +-
 lib/Prophet/ReplicaFeedExporter.pm                 |    4 +-
 lib/Prophet/Resolver.pm                            |    4 +-
 lib/Prophet/Resolver/AlwaysSource.pm               |    4 +-
 lib/Prophet/Resolver/AlwaysTarget.pm               |    4 +-
 lib/Prophet/Resolver/Failed.pm                     |    4 +-
 lib/Prophet/Resolver/FromResolutionDB.pm           |    4 +-
 lib/Prophet/Resolver/IdenticalChanges.pm           |    4 +-
 lib/Prophet/Resolver/Prompt.pm                     |    4 +-
 lib/Prophet/Server.pm                              |    6 +-
 lib/Prophet/Server/Controller.pm                   |    4 +-
 lib/Prophet/Server/Dispatcher.pm                   |    4 +-
 lib/Prophet/Server/ViewHelpers/Function.pm         |    6 +-
 lib/Prophet/Server/ViewHelpers/HiddenParam.pm      |    6 +-
 .../Server/ViewHelpers/ParamFromFunction.pm        |    6 +-
 lib/Prophet/Server/ViewHelpers/Widget.pm           |   10 ++--
 lib/Prophet/Test/Arena.pm                          |   18 +++---
 lib/Prophet/Test/Participant.pm                    |    4 +-
 lib/Prophet/Web/Field.pm                           |   12 ++--
 lib/Prophet/Web/FunctionResult.pm                  |   20 +++----
 lib/Prophet/Web/Menu.pm                            |    4 +-
 lib/Prophet/Web/Result.pm                          |   19 +++----
 t/Settings/lib/App/Settings.pm                     |    4 +-
 t/Settings/lib/App/Settings/Bug.pm                 |    2 +-
 t/Settings/lib/App/Settings/CLI.pm                 |    4 +-
 t/WebToy/lib/App/WebToy.pm                         |    4 +-
 t/WebToy/lib/App/WebToy/CLI.pm                     |    4 +-
 t/WebToy/lib/App/WebToy/Model/WikiPage.pm          |    4 +-
 t/database-settings.t                              |    2 +-
 t/history.t                                        |    4 +-
 t/lib/TestApp/Bug.pm                               |    4 +-
 t/lib/TestApp/BugCatcher.pm                        |    4 +-
 t/lib/TestApp/Bugs.pm                              |    4 +-
 t/lib/TestApp/ButterflyNet.pm                      |    4 +-
 t/validation.t                                     |    2 +-
 80 files changed, 314 insertions(+), 340 deletions(-)

- Log -----------------------------------------------------------------
commit 09f2aa4463a1e64dab1c9f7d0d7594d6dadd31fb
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:13:02 2009 -0500

    use Any::Moose

diff --git a/Makefile.PL b/Makefile.PL
index e9e000c..5d1ec08 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -18,9 +18,7 @@ requires('File::Find::Rule');
 requires('Proc::InvokeEditor');
 requires('Scalar::Defer' => '0.18');
 requires('Class::MOP' => '0.70');
-requires('Moose' => '0.61'); # Moose::Util::TypeConstraints Moose::Role
-requires('MooseX::AttributeHelpers' => '0.12');
-requires('MooseX::ClassAttribute' => '0.04');
+requires('Any::Moose');
 requires('XML::Atom::SimpleFeed');
 requires('Path::Dispatcher' => '0.06'); # Path::Dispatcher::Declarative
 requires('Time::Progress');

commit 5d23446377d465a4983ed688749d85d683675b9b
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:18:11 2009 -0500

    Remove use of ClassAttribute and AttributeHelpers in CLI::Dispatcher

diff --git a/lib/Prophet/CLI/Dispatcher.pm b/lib/Prophet/CLI/Dispatcher.pm
index 1cec543..1d5d8af 100644
--- a/lib/Prophet/CLI/Dispatcher.pm
+++ b/lib/Prophet/CLI/Dispatcher.pm
@@ -1,20 +1,11 @@
 package Prophet::CLI::Dispatcher;
 use Path::Dispatcher::Declarative -base;
 use Moose;
-use MooseX::ClassAttribute;
-use MooseX::AttributeHelpers;
 
 with 'Prophet::CLI::Parameters';
 
-class_has command_prefixes => (
-    isa => 'ArrayRef',
-    metaclass => 'Collection::Array',
-    is => 'rw',
-    default => sub { ['Prophet::CLI::Command'] },
-    provides => {
-        unshift => 'add_command_prefix'
-    }
-);
+our @PREFIXES = qw(Prophet::CLI::Command);
+sub add_command_prefix { unshift @PREFIXES, @_ }
 
 # "ticket display $ID" -> "ticket display --id=$ID"
 on qr{^ (.*) \s+ ( \d+ | [A-Z0-9]{36} ) $ }x => sub {
@@ -113,7 +104,7 @@ sub run_command {
 sub class_names {
     my $self = shift;
     my $command = shift;
-    return map { $_."::".$command } @{$self->command_prefixes};
+    return map { $_."::".$command } @PREFIXES;
 
 }
 

commit 4a5d605775df6a90d255bb63eb07ab1b8c00fb28
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:20:45 2009 -0500

    Remove use of MooseX::ClassAttribute for Prophet::Record

diff --git a/lib/Prophet/Record.pm b/lib/Prophet/Record.pm
index 2312f91..69bd5dc 100644
--- a/lib/Prophet/Record.pm
+++ b/lib/Prophet/Record.pm
@@ -1,6 +1,5 @@
 package Prophet::Record;
 use Moose;
-use MooseX::ClassAttribute;
 use Params::Validate;
 use Prophet::App; # for require_module. Kinda hacky
 use constant collection_class => 'Prophet::Collection';
@@ -47,29 +46,19 @@ has luid => (
     default => sub { my $self = shift; $self->find_or_create_luid; },
 );
 
-class_has REFERENCES => (
-    is        => 'rw',
-    isa       => 'HashRef',
-    default   => sub { {} },
-    documentation => 'A hash of class_name => references.',
-);
-
-class_has PROPERTIES => (
-    is      => 'rw',
-    isa     => 'HashRef',
-    default => sub { {} },
-    documentation => 'A hash of properties that a record class declares.',
-);
-
-
-class_has uuid_generator => (
-    is => 'ro',
-    isa => 'Data::UUID',
-    lazy => 1,
-    default => sub { require Data::UUID; Data::UUID->new()}
-);
+our $REFERENCES = {};
+sub REFERENCES { $REFERENCES }
 
+our $PROPERTIES = {};
+sub PROPERTIES { $PROPERTIES }
 
+do {
+    my $uuid_generator;
+    sub uuid_generator {
+        require Data::UUID;
+        $uuid_generator ||= Data::UUID->new;
+    }
+}
 
 =head1 METHODS
 
@@ -933,5 +922,4 @@ sub collection_reference_methods {
 
 __PACKAGE__->meta->make_immutable;
 no Moose;
-no MooseX::ClassAttribute;
 1;

commit a24a1122abbdaadd9e95645d9ce014c831cbc288
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:21:24 2009 -0500

    CLIContext doesn't use ClassAttribute

diff --git a/lib/Prophet/CLIContext.pm b/lib/Prophet/CLIContext.pm
index 72a5e87..3574108 100644
--- a/lib/Prophet/CLIContext.pm
+++ b/lib/Prophet/CLIContext.pm
@@ -1,6 +1,5 @@
 package Prophet::CLIContext;
 use Moose;
-use MooseX::ClassAttribute;
 
 has app_handle => (
     is      => 'rw',
@@ -291,6 +290,5 @@ sub set_type_and_uuid {
 
 __PACKAGE__->meta->make_immutable;
 no Moose;
-no MooseX::ClassAttribute;
 
 1;

commit 34479d64d5e98dbaab03dc03e1b59f7feb0c78a7
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:27:13 2009 -0500

    Forgot a ;

diff --git a/lib/Prophet/Record.pm b/lib/Prophet/Record.pm
index 69bd5dc..b96f0d4 100644
--- a/lib/Prophet/Record.pm
+++ b/lib/Prophet/Record.pm
@@ -58,7 +58,7 @@ do {
         require Data::UUID;
         $uuid_generator ||= Data::UUID->new;
     }
-}
+};
 
 =head1 METHODS
 

commit 081f1673dd00ed8b2b9ffc1cc9872bc01b3595ca
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:45:11 2009 -0500

    De-AH Prophet::Web::Result

diff --git a/lib/Prophet/Web/Result.pm b/lib/Prophet/Web/Result.pm
index 65c87bd..6027193 100644
--- a/lib/Prophet/Web/Result.pm
+++ b/lib/Prophet/Web/Result.pm
@@ -1,6 +1,5 @@
 package Prophet::Web::Result;
 use Moose;
-use MooseX::AttributeHelpers;
 
 use Prophet::Web::FunctionResult;
 
@@ -21,19 +20,15 @@ Prophet::Web::Result
 has success => ( isa => 'Bool', is => 'rw');
 has message => ( isa => 'Str', is => 'rw');
 has functions => (
-             metaclass => 'Collection::Hash',
              is        => 'rw',
              isa       => 'HashRef[Prophet::Web::FunctionResult]',
              default   => sub { {} },
-             provides  => {
-                 exists    => 'exists',
-                 keys      => 'items',
-                 get       => 'get',
-                 set       => 'set',
-             },
-
 );
 
+sub get    { $_[0]->functions->{$_[1]} }
+sub set    { $_[0]->functions->{$_[1]} = $_[2] }
+sub exists { exists $_[0]->functions->{$_[1]} }
+sub items  { keys %{ $_[0]->functions } }
 
 __PACKAGE__->meta->make_immutable;
 no Moose;

commit fc164402ec79ba4ab998dc7dd46ca9eee1702da4
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:46:00 2009 -0500

    De-AH Prophet::Test::Arena

diff --git a/lib/Prophet/Test/Arena.pm b/lib/Prophet/Test/Arena.pm
index 217735a..7d1c330 100644
--- a/lib/Prophet/Test/Arena.pm
+++ b/lib/Prophet/Test/Arena.pm
@@ -1,6 +1,5 @@
 package Prophet::Test::Arena;
 use Moose;
-use MooseX::AttributeHelpers;
 
 has chickens => (
     is         => 'rw',
@@ -15,15 +14,16 @@ has record_callback => (
 );
 
 has history => (
-    metaclass => 'Collection::Array',
     is        => 'rw',
     isa       => 'ArrayRef[ArrayRef]',
     default   => sub { [] },
-    provides  => {
-        push => 'add_history',
-    },
 );
 
+sub add_history {
+    my $self = shift;
+    push @{ $self->history }, @_;
+}
+
 use Prophet::Test::Participant;
 use Prophet::Test;
 use YAML::Syck ();

commit 01c684438de35736fdf925c03a22af193e1ac875
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:47:05 2009 -0500

    De-AH ConflictingChange

diff --git a/lib/Prophet/ConflictingChange.pm b/lib/Prophet/ConflictingChange.pm
index 623e734..4a51969 100644
--- a/lib/Prophet/ConflictingChange.pm
+++ b/lib/Prophet/ConflictingChange.pm
@@ -1,6 +1,5 @@
 package Prophet::ConflictingChange;
 use Moose;
-use MooseX::AttributeHelpers;
 use Prophet::Meta::Types;
 use Prophet::ConflictingPropChange;
 use JSON 'to_json';
@@ -37,16 +36,14 @@ has file_op_conflict => (
 );
 
 has prop_conflicts => (
-    metaclass => 'Collection::Array',
     is        => 'rw',
     isa       => 'ArrayRef',
     default   => sub { [] },
-    provides  => {
-        push  => 'add_prop_conflict',
-        count => 'has_prop_conflicts',
-    },
 );
 
+sub add_prop_conflict { push @{ $_[0]->prop_conflicts }, $_[1] }
+sub has_prop_conflicts { scalar @{ $_[0]->prop_conflicts } }
+
 sub as_hash {
     my $self = shift;
     my $struct = {

commit 8e6b0ce3a9c6f6a80adf836af50c47b2a2ba3a89
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:47:56 2009 -0500

    De-AH Prophet::Conflict

diff --git a/lib/Prophet/Conflict.pm b/lib/Prophet/Conflict.pm
index d948dea..507c927 100644
--- a/lib/Prophet/Conflict.pm
+++ b/lib/Prophet/Conflict.pm
@@ -1,6 +1,5 @@
 package Prophet::Conflict;
 use Moose;
-use MooseX::AttributeHelpers;
 use Params::Validate;
 use Prophet::ConflictingPropChange;
 use Prophet::ConflictingChange;
@@ -38,16 +37,14 @@ has autoresolved => (
 );
 
 has conflicting_changes => (
-    metaclass => 'Collection::Array',
     is        => 'ro',
     isa       => 'ArrayRef[Prophet::ConflictingChange]',
     default   => sub { [] },
-    provides  => {
-        count => 'has_conflicting_changes',
-        push  => 'add_conflicting_change',
-    },
 );
 
+sub has_conflicting_changes { scalar @{ $_[0]->conflicting_changes } }
+sub add_conflicting_change  { push @{ $_[0]->conflicting_changes }, $_[1] }
+
 =head2 analyze_changeset Prophet::ChangeSet
 
 Take a look at a changeset. if there are any conflicts, populate

commit de1b10336ce4ab1d21f6d48e47a8972fb2c8bac9
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:48:56 2009 -0500

    De-AH Prophet::Config

diff --git a/lib/Prophet/Config.pm b/lib/Prophet/Config.pm
index 8fd9ce1..8d7ba8c 100644
--- a/lib/Prophet/Config.pm
+++ b/lib/Prophet/Config.pm
@@ -1,6 +1,5 @@
 package Prophet::Config;
 use Moose;
-use MooseX::AttributeHelpers;
 use File::Spec;
 use Prophet::Util;
 
@@ -18,18 +17,16 @@ has config_files => (
 );
 
 has config => (
-    metaclass   => 'Collection::Hash',
     is          => 'rw',
     isa         => 'HashRef',
     lazy        => 0,
     default     => sub {shift->load_from_files;},
-    provides    => {
-        get     => 'get',
-        set     => 'set',
-        keys    => 'list',
-    },
 );
 
+sub get  { $_[0]->config->{$_[1]} }
+sub set  { $_[0]->config->{$_[1]} = $_[2] }
+sub list { keys %{ $_[0]->config } }
+
 sub aliases {
     return $_[0]->config->{_aliases} || {};
 }

commit 460d3c1518a2c8e1b20eb6b6e3e6364d8cf08321
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:49:31 2009 -0500

    De-AH Prophet::Collection

diff --git a/lib/Prophet/Collection.pm b/lib/Prophet/Collection.pm
index 2c92d86..9b5d1c3 100644
--- a/lib/Prophet/Collection.pm
+++ b/lib/Prophet/Collection.pm
@@ -1,6 +1,5 @@
 package Prophet::Collection;
 use Moose;
-use MooseX::AttributeHelpers;
 use Params::Validate;
 use Prophet::Record;
 
@@ -33,17 +32,15 @@ has type => (
 );
 
 has items => (
-    metaclass  => 'Collection::Array',
     is         => 'rw',
     isa        => 'ArrayRef[Prophet::Record]',
     default    => sub { [] },
     auto_deref => 1,
-    provides   => {
-        push   => 'add_item',
-        count  => 'count',
-    },
 );
 
+sub add_item { push @{ $_[0]->items }, $_[1] }
+sub count    { scalar @{ $_[0]->items } }
+
 =head1 NAME
 
 Prophet::Collection

commit 5c6a55a8d72ca2b257e2ed774c579585b4d63a51
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:50:14 2009 -0500

    De-AH Prophet::ChangeSet

diff --git a/lib/Prophet/ChangeSet.pm b/lib/Prophet/ChangeSet.pm
index fcbefae..3cc1f92 100644
--- a/lib/Prophet/ChangeSet.pm
+++ b/lib/Prophet/ChangeSet.pm
@@ -1,6 +1,5 @@
 package Prophet::ChangeSet;
 use Moose;
-use MooseX::AttributeHelpers;
 use Prophet::Change;
 use Params::Validate;
 
@@ -53,17 +52,15 @@ has is_resolution => (
 );
 
 has changes => (
-    metaclass  => 'Collection::Array',
     is         => 'rw',
     isa        => 'ArrayRef[Prophet::Change]',
     auto_deref => 1,
     default    => sub { [] },
-    provides   => {
-        push   => '_add_change',
-        count  => 'has_changes',
-    },
 );
 
+sub _add_change { push @{ $_[0]->changes }, $_[1] }
+sub has_changes { scalar @{ $_[0]->changes } }
+
 =head1 NAME
 
 Prophet::ChangeSet

commit 8799dcd86b15fc65692656e66ea0c4ec8809da9b
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:50:57 2009 -0500

    De-AH Prophet::Change

diff --git a/lib/Prophet/Change.pm b/lib/Prophet/Change.pm
index 1dac85d..4ad3940 100644
--- a/lib/Prophet/Change.pm
+++ b/lib/Prophet/Change.pm
@@ -1,7 +1,6 @@
 package Prophet::Change;
 use Moose;
 use Prophet::Meta::Types;
-use MooseX::AttributeHelpers;
 use Prophet::PropChange;
 use Params::Validate;
 
@@ -31,17 +30,15 @@ has is_resolution => (
 );
 
 has prop_changes => (
-    metaclass  => 'Collection::Array',
     is         => 'rw',
     isa        => 'ArrayRef[Prophet::PropChange]',
     auto_deref => 1,
     default    => sub { [] },
-    provides   => {
-        count => 'has_prop_changes',
-        push  => '_add_prop_change',
-    },
 );
 
+sub has_prop_changes { scalar @{ $_[0]->prop_changes } }
+sub _add_prop_change { push @{ $_[0]->prop_changes }, $_[1] }
+
 =head1 NAME
 
 Prophet::Change

commit 0d4a7b3ac05d07250a58a3c2fa9d4576e0b317dd
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:54:41 2009 -0500

    De-AH CLIContext

diff --git a/lib/Prophet/CLIContext.pm b/lib/Prophet/CLIContext.pm
index 3574108..da37fe1 100644
--- a/lib/Prophet/CLIContext.pm
+++ b/lib/Prophet/CLIContext.pm
@@ -26,53 +26,54 @@ has type => (
 );
 
 has args => (
-    metaclass => 'Collection::Hash',
     is        => 'rw',
     isa       => 'HashRef',
     default   => sub { {} },
-    provides  => {
-        set    => 'set_arg',
-        get    => 'arg',
-        exists => 'has_arg',
-        delete => 'delete_arg',
-        keys   => 'arg_names',
-        clear  => 'clear_args',
-    },
     documentation =>
         "This is a reference to the key-value pairs passed in on the commandline",
 );
 
+sub set_arg    { $_[0]->args->{$_[1]} = $_[2] }
+sub arg        { $_[0]->args->{$_[1]} }
+sub has_arg    { exists $_[0]->args->{$_[1]} }
+sub delete_arg { delete $_[0]->args->{$_[1]} }
+sub arg_names  { keys %{ $_[0]->args } }
+sub clear_args { %{ $_[0]->args } = () }
+
 has props => (
-    metaclass => 'Collection::Hash',
     is        => 'rw',
     isa       => 'HashRef',
     default   => sub { {} },
-    provides  => {
-        set    => 'set_prop',
-        get    => 'prop',
-        exists => 'has_prop',
-        delete => 'delete_prop',
-        keys   => 'prop_names',
-        clear  => 'clear_props',
-    },
 );
 
-# clear the prop_set too!
-after clear_props => sub { my $self = shift; $self->prop_set( () ); };
+sub set_prop    { $_[0]->props->{$_[1]} = $_[2] }
+sub prop        { $_[0]->props->{$_[1]} }
+sub has_prop    { exists $_[0]->props->{$_[1]} }
+sub delete_prop { delete $_[0]->props->{$_[1]} }
+sub prop_names  { keys %{ $_[0]->props } }
+
+sub clear_props {
+    %{ $_[0]->props } = ();
+
+    # clear the prop_set too!
+    $_[0]->prop_set( () );
+}
 
 has prop_set => (
-    metaclass  => 'Collection::Array',
     is         => 'rw',
     isa        => 'ArrayRef',
     default    => sub { [] },
     auto_deref => 1,
-    provides   => { push => 'add_to_prop_set', },
 );
-after add_to_prop_set => sub {
+
+sub add_to_prop_set {
     my $self = shift;
     my $args = shift;
+
+    push @{ $self->prop_set }, $args;
+
     $self->set_prop( $args->{prop} => $args->{value} );
-};
+}
 
 has primary_commands => (
     is            => 'rw',

commit a9f54c6e498a3fe876796ce1b6e15fb9e52998a1
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 18:55:46 2009 -0500

    De-AH Prophet::Web::FunctionResult

diff --git a/lib/Prophet/Web/FunctionResult.pm b/lib/Prophet/Web/FunctionResult.pm
index f651f08..38c7a5d 100644
--- a/lib/Prophet/Web/FunctionResult.pm
+++ b/lib/Prophet/Web/FunctionResult.pm
@@ -20,19 +20,15 @@ has success => (isa => 'Bool', is => 'rw');
 has message => (isa => 'Str', is => 'rw');
 
 has result => (
-             metaclass => 'Collection::Hash',
              is        => 'rw',
              isa       => 'HashRef[Str]',
              default   => sub { {} },
-             provides  => {
-                 exists    => 'exists',
-                 keys      => 'items',
-                 get       => 'get',
-                 set       => 'set',
-             },
-
 );
 
+sub exists { exists $_[0]->result->{$_[1]} }
+sub items  { keys %{ $_[0]->result } }
+sub get    { $_[0]->result>{$_[1]} }
+sub set    { $_[0]->result->{$_[1]} = $_[2] }
 
 __PACKAGE__->meta->make_immutable;
 no Moose;

commit 03be2d45954df0efa708a113710654e01f5bd4b7
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 19:03:06 2009 -0500

    The "push" attribute helper actually pushes multiple items

diff --git a/lib/Prophet/Change.pm b/lib/Prophet/Change.pm
index 4ad3940..797ef49 100644
--- a/lib/Prophet/Change.pm
+++ b/lib/Prophet/Change.pm
@@ -37,7 +37,10 @@ has prop_changes => (
 );
 
 sub has_prop_changes { scalar @{ $_[0]->prop_changes } }
-sub _add_prop_change { push @{ $_[0]->prop_changes }, $_[1] }
+sub _add_prop_change {
+    my $self = shift;
+    push @{ $self->prop_changes }, @_;
+}
 
 =head1 NAME
 
diff --git a/lib/Prophet/ChangeSet.pm b/lib/Prophet/ChangeSet.pm
index 3cc1f92..47d6f7e 100644
--- a/lib/Prophet/ChangeSet.pm
+++ b/lib/Prophet/ChangeSet.pm
@@ -58,8 +58,11 @@ has changes => (
     default    => sub { [] },
 );
 
-sub _add_change { push @{ $_[0]->changes }, $_[1] }
 sub has_changes { scalar @{ $_[0]->changes } }
+sub _add_change {
+    my $self = shift;
+    push @{ $self->changes }, @_;
+}
 
 =head1 NAME
 
diff --git a/lib/Prophet/Collection.pm b/lib/Prophet/Collection.pm
index 9b5d1c3..b62ab63 100644
--- a/lib/Prophet/Collection.pm
+++ b/lib/Prophet/Collection.pm
@@ -38,8 +38,11 @@ has items => (
     auto_deref => 1,
 );
 
-sub add_item { push @{ $_[0]->items }, $_[1] }
 sub count    { scalar @{ $_[0]->items } }
+sub add_item {
+    my $self = shift;
+    push @{ $self->items }, @_;
+}
 
 =head1 NAME
 
diff --git a/lib/Prophet/Conflict.pm b/lib/Prophet/Conflict.pm
index 507c927..6014d01 100644
--- a/lib/Prophet/Conflict.pm
+++ b/lib/Prophet/Conflict.pm
@@ -43,7 +43,10 @@ has conflicting_changes => (
 );
 
 sub has_conflicting_changes { scalar @{ $_[0]->conflicting_changes } }
-sub add_conflicting_change  { push @{ $_[0]->conflicting_changes }, $_[1] }
+sub add_conflicting_change  {
+    my $self = shift;
+    push @{ $self->conflicting_changes }, @_;
+}
 
 =head2 analyze_changeset Prophet::ChangeSet
 
diff --git a/lib/Prophet/ConflictingChange.pm b/lib/Prophet/ConflictingChange.pm
index 4a51969..55f622e 100644
--- a/lib/Prophet/ConflictingChange.pm
+++ b/lib/Prophet/ConflictingChange.pm
@@ -41,8 +41,11 @@ has prop_conflicts => (
     default   => sub { [] },
 );
 
-sub add_prop_conflict { push @{ $_[0]->prop_conflicts }, $_[1] }
 sub has_prop_conflicts { scalar @{ $_[0]->prop_conflicts } }
+sub add_prop_conflict {
+    my $self = shift;
+    push @{ $self->prop_conflicts }, @_;
+}
 
 sub as_hash {
     my $self = shift;

commit 1626dbb3dd784f1b22555af31f3f7967fd2d0ada
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 20:23:50 2009 -0500

    Remove uses of ClassAttribute

diff --git a/lib/Prophet/CLI.pm b/lib/Prophet/CLI.pm
index f9a9c0d..157d45d 100644
--- a/lib/Prophet/CLI.pm
+++ b/lib/Prophet/CLI.pm
@@ -1,6 +1,5 @@
 package Prophet::CLI;
 use Moose;
-use MooseX::ClassAttribute;
 
 use Prophet;
 use Prophet::Replica;
@@ -158,7 +157,6 @@ sub invoke {
 
 __PACKAGE__->meta->make_immutable;
 no Moose;
-no MooseX::ClassAttribute;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command.pm b/lib/Prophet/CLI/Command.pm
index 24456c4..4e8ea5b 100644
--- a/lib/Prophet/CLI/Command.pm
+++ b/lib/Prophet/CLI/Command.pm
@@ -1,6 +1,5 @@
 package Prophet::CLI::Command;
 use Moose;
-use MooseX::ClassAttribute;
 
 use Params::Validate qw(validate);
 
@@ -24,13 +23,16 @@ has context => (
 
 );
 
-class_has ARG_TRANSLATIONS => (
-    is => 'rw',
-    isa => 'HashRef',
-    default => sub { { 'v' => 'verbose', 'a' => 'all' } },
-    documentation => 'A hash of arguments that will be translated on '.
-                     'command instantiation',
+our %ARG_TRANSLATIONS = (
+    'v' => 'verbose',
+    'a' => 'all',
 );
+sub ARG_TRANSLATIONS {
+    my $self = shift;
+
+    return \%ARG_TRANSLATIONS if !@_;
+    %ARG_TRANSLATIONS = %{ $_[0] };
+}
 
 =head2 register_arg_translations
 
@@ -262,7 +264,6 @@ sub prompt_Yn {
 
 __PACKAGE__->meta->make_immutable;
 no Moose;
-no MooseX::ClassAttribute;
 
 1;
 

commit 1e80df602c6800fdb1dce10dc08865849cd03a19
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 20:24:01 2009 -0500

    Remove some MX:AH vestiges

diff --git a/lib/Prophet/Replica/prophet.pm b/lib/Prophet/Replica/prophet.pm
index 9bc27fa..2255934 100644
--- a/lib/Prophet/Replica/prophet.pm
+++ b/lib/Prophet/Replica/prophet.pm
@@ -51,7 +51,6 @@ has fs_root => (
 has current_edit => ( is => 'rw', );
 
 has current_edit_records => (
-    metaclass => 'Collection::Array',
     is        => 'rw',
     isa       => 'ArrayRef',
     default   => sub { [] },
diff --git a/lib/Prophet/Replica/sqlite.pm b/lib/Prophet/Replica/sqlite.pm
index bf51ad4..2c728a9 100644
--- a/lib/Prophet/Replica/sqlite.pm
+++ b/lib/Prophet/Replica/sqlite.pm
@@ -58,7 +58,6 @@ has fs_root => (
 has current_edit => ( is => 'rw', );
 
 has current_edit_records => (
-    metaclass => 'Collection::Array',
     is        => 'rw',
     isa       => 'ArrayRef',
     default   => sub { [] },

commit c82ba8bfa19c71343f38f7cce0a85f8362cf4d51
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 20:36:03 2009 -0500

    use Any::Moose instead of Moose; similarly for Role and
    Util::TypeConstraints

diff --git a/lib/Prophet/App.pm b/lib/Prophet/App.pm
index 5b11b7a..8c7d55e 100644
--- a/lib/Prophet/App.pm
+++ b/lib/Prophet/App.pm
@@ -1,5 +1,5 @@
 package Prophet::App;
-use Moose;
+use Any::Moose;
 use File::Spec ();
 use Prophet::Config;
 use Params::Validate qw/validate validate_pos/;
@@ -242,5 +242,5 @@ sub log_fatal {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 1;
diff --git a/lib/Prophet/CLI.pm b/lib/Prophet/CLI.pm
index 157d45d..664a46a 100644
--- a/lib/Prophet/CLI.pm
+++ b/lib/Prophet/CLI.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI;
-use Moose;
+use Any::Moose;
 
 use Prophet;
 use Prophet::Replica;
@@ -156,7 +156,7 @@ sub invoke {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/CollectionCommand.pm b/lib/Prophet/CLI/CollectionCommand.pm
index 017d747..c38e7c5 100644
--- a/lib/Prophet/CLI/CollectionCommand.pm
+++ b/lib/Prophet/CLI/CollectionCommand.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::CollectionCommand;
-use Moose::Role;
+use Any::Moose 'Role';
 with 'Prophet::CLI::RecordCommand';
 
 use Params::Validate;
@@ -22,7 +22,7 @@ sub get_collection_object {
     return $records;
 }
 
-no Moose::Role;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command.pm b/lib/Prophet/CLI/Command.pm
index 4e8ea5b..b5e3785 100644
--- a/lib/Prophet/CLI/Command.pm
+++ b/lib/Prophet/CLI/Command.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command;
-use Moose;
+use Any::Moose;
 
 use Params::Validate qw(validate);
 
@@ -263,7 +263,7 @@ sub prompt_Yn {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Aliases.pm b/lib/Prophet/CLI/Command/Aliases.pm
index ef114e3..7c372c6 100644
--- a/lib/Prophet/CLI/Command/Aliases.pm
+++ b/lib/Prophet/CLI/Command/Aliases.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Aliases;
-use Moose;
+use Any::Moose;
 use Params::Validate qw/validate/;
 
 extends 'Prophet::CLI::Command';
@@ -142,6 +142,6 @@ sub process_template {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/CLI/Command/Clone.pm b/lib/Prophet/CLI/Command/Clone.pm
index 45cd9bd..e6ae1da 100644
--- a/lib/Prophet/CLI/Command/Clone.pm
+++ b/lib/Prophet/CLI/Command/Clone.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Clone;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command::Merge';
 
 sub run {
@@ -60,6 +60,6 @@ sub merge_resolver { 'Prophet::Resolver::AlwaysTarget'}
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/CLI/Command/Config.pm b/lib/Prophet/CLI/Command/Config.pm
index 5dbc7fd..9eb2e40 100644
--- a/lib/Prophet/CLI/Command/Config.pm
+++ b/lib/Prophet/CLI/Command/Config.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Config;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 
 sub run {
@@ -48,7 +48,7 @@ sub no_config_files {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Create.pm b/lib/Prophet/CLI/Command/Create.pm
index 34139d3..8fe3d63 100644
--- a/lib/Prophet/CLI/Command/Create.pm
+++ b/lib/Prophet/CLI/Command/Create.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Create;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 with 'Prophet::CLI::RecordCommand';
 has '+uuid' => ( required => 0);
@@ -28,7 +28,7 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Delete.pm b/lib/Prophet/CLI/Command/Delete.pm
index d10799c..6c498c9 100644
--- a/lib/Prophet/CLI/Command/Delete.pm
+++ b/lib/Prophet/CLI/Command/Delete.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Delete;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 with 'Prophet::CLI::RecordCommand';
 
@@ -18,7 +18,7 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Export.pm b/lib/Prophet/CLI/Command/Export.pm
index ad5d373..20ae1fb 100644
--- a/lib/Prophet/CLI/Command/Export.pm
+++ b/lib/Prophet/CLI/Command/Export.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Export;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 
 sub run {
@@ -29,7 +29,7 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/History.pm b/lib/Prophet/CLI/Command/History.pm
index 81da7ef..8a196a4 100644
--- a/lib/Prophet/CLI/Command/History.pm
+++ b/lib/Prophet/CLI/Command/History.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::History;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 with 'Prophet::CLI::RecordCommand';
 
@@ -13,7 +13,7 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Init.pm b/lib/Prophet/CLI/Command/Init.pm
index 121acd3..91c187d 100644
--- a/lib/Prophet/CLI/Command/Init.pm
+++ b/lib/Prophet/CLI/Command/Init.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Init;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 
 sub run {
@@ -17,7 +17,7 @@ sub run {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Log.pm b/lib/Prophet/CLI/Command/Log.pm
index 447b34c..ef1f22e 100644
--- a/lib/Prophet/CLI/Command/Log.pm
+++ b/lib/Prophet/CLI/Command/Log.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Log;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 
 # Default: last 20 entries.
@@ -128,5 +128,5 @@ sub change_header {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 1;
diff --git a/lib/Prophet/CLI/Command/Merge.pm b/lib/Prophet/CLI/Command/Merge.pm
index 5d201f2..bf202f3 100644
--- a/lib/Prophet/CLI/Command/Merge.pm
+++ b/lib/Prophet/CLI/Command/Merge.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Merge;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 
 has source => ( isa => 'Prophet::Replica', is => 'rw');
@@ -155,7 +155,7 @@ sub merge_resolver {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Publish.pm b/lib/Prophet/CLI/Command/Publish.pm
index b2f7092..79fd5bd 100644
--- a/lib/Prophet/CLI/Command/Publish.pm
+++ b/lib/Prophet/CLI/Command/Publish.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Publish;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command::Export';
 with 'Prophet::CLI::PublishCommand';
 with 'Prophet::CLI::CollectionCommand';
@@ -123,7 +123,7 @@ sub types_to_render {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Pull.pm b/lib/Prophet/CLI/Command/Pull.pm
index 23b2fb6..6c6d975 100644
--- a/lib/Prophet/CLI/Command/Pull.pm
+++ b/lib/Prophet/CLI/Command/Pull.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Pull;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command::Merge';
 
 __PACKAGE__->register_arg_translations( l => 'local' );
@@ -111,7 +111,7 @@ sub find_bonjour_sources {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 
 
diff --git a/lib/Prophet/CLI/Command/Push.pm b/lib/Prophet/CLI/Command/Push.pm
index 7f856d7..ce448b4 100644
--- a/lib/Prophet/CLI/Command/Push.pm
+++ b/lib/Prophet/CLI/Command/Push.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Push;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command::Merge';
 
 before run => sub {
@@ -12,7 +12,7 @@ before run => sub {
 };
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Search.pm b/lib/Prophet/CLI/Command/Search.pm
index da26fe7..3d5f6e0 100644
--- a/lib/Prophet/CLI/Command/Search.pm
+++ b/lib/Prophet/CLI/Command/Search.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Search;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 with 'Prophet::CLI::RecordCommand';
 with 'Prophet::CLI::CollectionCommand';
@@ -197,7 +197,7 @@ sub group_by_prop {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Server.pm b/lib/Prophet/CLI/Command/Server.pm
index 185106b..7678b42 100644
--- a/lib/Prophet/CLI/Command/Server.pm
+++ b/lib/Prophet/CLI/Command/Server.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Server;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 
 __PACKAGE__->register_arg_translations( p => 'port', w => 'writable' );
@@ -26,7 +26,7 @@ sub _setup_server {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Settings.pm b/lib/Prophet/CLI/Command/Settings.pm
index 8ef303b..54b019d 100644
--- a/lib/Prophet/CLI/Command/Settings.pm
+++ b/lib/Prophet/CLI/Command/Settings.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Settings;
-use Moose;
+use Any::Moose;
 use Params::Validate qw/validate/;
 use JSON;
 
@@ -166,6 +166,6 @@ sub process_template {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/CLI/Command/Shell.pm b/lib/Prophet/CLI/Command/Shell.pm
index 33a6268..e4267c7 100644
--- a/lib/Prophet/CLI/Command/Shell.pm
+++ b/lib/Prophet/CLI/Command/Shell.pm
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 package Prophet::CLI::Command::Shell;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 use File::Spec;
 use Prophet::Util;
@@ -109,7 +109,7 @@ sub _write_repl_history {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Show.pm b/lib/Prophet/CLI/Command/Show.pm
index a3ab94b..8fbb159 100644
--- a/lib/Prophet/CLI/Command/Show.pm
+++ b/lib/Prophet/CLI/Command/Show.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Show;
-use Moose;
+use Any::Moose;
 use Params::Validate;
 extends 'Prophet::CLI::Command';
 with 'Prophet::CLI::RecordCommand';
@@ -100,7 +100,7 @@ sub stringify_props {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Command/Update.pm b/lib/Prophet/CLI/Command/Update.pm
index dabf3ce..85e22ee 100644
--- a/lib/Prophet/CLI/Command/Update.pm
+++ b/lib/Prophet/CLI/Command/Update.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::Command::Update;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI::Command';
 with 'Prophet::CLI::RecordCommand';
 
@@ -58,7 +58,7 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Dispatcher.pm b/lib/Prophet/CLI/Dispatcher.pm
index 1d5d8af..ef6d1bc 100644
--- a/lib/Prophet/CLI/Dispatcher.pm
+++ b/lib/Prophet/CLI/Dispatcher.pm
@@ -1,6 +1,6 @@
 package Prophet::CLI::Dispatcher;
 use Path::Dispatcher::Declarative -base;
-use Moose;
+use Any::Moose;
 
 with 'Prophet::CLI::Parameters';
 
@@ -109,7 +109,7 @@ sub class_names {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/Parameters.pm b/lib/Prophet/CLI/Parameters.pm
index 2f6d08e..2e6112d 100644
--- a/lib/Prophet/CLI/Parameters.pm
+++ b/lib/Prophet/CLI/Parameters.pm
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 package Prophet::CLI::Parameters;
-use Moose::Role;
+use Any::Moose 'Role';
 
 has cli => (
     is       => 'rw',
@@ -18,7 +18,7 @@ has context => (
     },
 );
 
-no Moose::Role;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/PublishCommand.pm b/lib/Prophet/CLI/PublishCommand.pm
index a79c6de..a764354 100644
--- a/lib/Prophet/CLI/PublishCommand.pm
+++ b/lib/Prophet/CLI/PublishCommand.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::PublishCommand;
-use Moose::Role;
+use Any::Moose 'Role';
 
 use File::Temp ();
 
@@ -29,7 +29,7 @@ If you have rsync but it's not in your path, set environment variable \$RSYNC to
     return $ret;
 }
 
-no Moose::Role;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/RecordCommand.pm b/lib/Prophet/CLI/RecordCommand.pm
index 1f4f2f9..86a055b 100644
--- a/lib/Prophet/CLI/RecordCommand.pm
+++ b/lib/Prophet/CLI/RecordCommand.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::RecordCommand;
-use Moose::Role;
+use Any::Moose 'Role';
 use Params::Validate;
 use Prophet::Record;
 
@@ -95,7 +95,7 @@ sub _type_to_record_class {
     return 'Prophet::Record';
 }
 
-no Moose::Role;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/CLI/TextEditorCommand.pm b/lib/Prophet/CLI/TextEditorCommand.pm
index 7a55534..3068596 100644
--- a/lib/Prophet/CLI/TextEditorCommand.pm
+++ b/lib/Prophet/CLI/TextEditorCommand.pm
@@ -1,5 +1,5 @@
 package Prophet::CLI::TextEditorCommand;
-use Moose::Role;
+use Any::Moose 'Role';
 use Params::Validate qw/validate/;
 
 requires 'process_template';
@@ -119,5 +119,5 @@ process_template
 
 =cut
 
-no Moose::Role;
+no Any::Moose;
 1;
diff --git a/lib/Prophet/CLIContext.pm b/lib/Prophet/CLIContext.pm
index da37fe1..87ae4c3 100644
--- a/lib/Prophet/CLIContext.pm
+++ b/lib/Prophet/CLIContext.pm
@@ -1,5 +1,5 @@
 package Prophet::CLIContext;
-use Moose;
+use Any::Moose;
 
 has app_handle => (
     is      => 'rw',
@@ -290,6 +290,6 @@ sub set_type_and_uuid {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Change.pm b/lib/Prophet/Change.pm
index 797ef49..4756433 100644
--- a/lib/Prophet/Change.pm
+++ b/lib/Prophet/Change.pm
@@ -1,5 +1,5 @@
 package Prophet::Change;
-use Moose;
+use Any::Moose;
 use Prophet::Meta::Types;
 use Prophet::PropChange;
 use Params::Validate;
@@ -196,6 +196,6 @@ sub new_from_hashref {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/ChangeSet.pm b/lib/Prophet/ChangeSet.pm
index 47d6f7e..f1b14fb 100644
--- a/lib/Prophet/ChangeSet.pm
+++ b/lib/Prophet/ChangeSet.pm
@@ -1,5 +1,5 @@
 package Prophet::ChangeSet;
-use Moose;
+use Any::Moose;
 use Prophet::Change;
 use Params::Validate;
 
@@ -253,6 +253,6 @@ sub created_as_rfc3339 {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Collection.pm b/lib/Prophet/Collection.pm
index b62ab63..168cf37 100644
--- a/lib/Prophet/Collection.pm
+++ b/lib/Prophet/Collection.pm
@@ -1,5 +1,5 @@
 package Prophet::Collection;
-use Moose;
+use Any::Moose;
 use Params::Validate;
 use Prophet::Record;
 
@@ -98,6 +98,6 @@ Returns a reference to an array of all the items found
 =cut
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Config.pm b/lib/Prophet/Config.pm
index 8d7ba8c..3563a20 100644
--- a/lib/Prophet/Config.pm
+++ b/lib/Prophet/Config.pm
@@ -1,5 +1,5 @@
 package Prophet::Config;
-use Moose;
+use Any::Moose;
 use File::Spec;
 use Prophet::Util;
 
@@ -156,7 +156,7 @@ sub save {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Conflict.pm b/lib/Prophet/Conflict.pm
index 6014d01..a78d67c 100644
--- a/lib/Prophet/Conflict.pm
+++ b/lib/Prophet/Conflict.pm
@@ -1,5 +1,5 @@
 package Prophet::Conflict;
-use Moose;
+use Any::Moose;
 use Params::Validate;
 use Prophet::ConflictingPropChange;
 use Prophet::ConflictingChange;
@@ -266,7 +266,7 @@ sub generate_nullification_changeset {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/ConflictingChange.pm b/lib/Prophet/ConflictingChange.pm
index 55f622e..77ee672 100644
--- a/lib/Prophet/ConflictingChange.pm
+++ b/lib/Prophet/ConflictingChange.pm
@@ -1,5 +1,5 @@
 package Prophet::ConflictingChange;
-use Moose;
+use Any::Moose;
 use Prophet::Meta::Types;
 use Prophet::ConflictingPropChange;
 use JSON 'to_json';
@@ -80,6 +80,6 @@ sub fingerprint {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/ConflictingPropChange.pm b/lib/Prophet/ConflictingPropChange.pm
index b05be28..ed163a2 100644
--- a/lib/Prophet/ConflictingPropChange.pm
+++ b/lib/Prophet/ConflictingPropChange.pm
@@ -1,5 +1,5 @@
 package Prophet::ConflictingPropChange;
-use Moose;
+use Any::Moose;
 
 has name => (
     is  => 'rw',
@@ -60,6 +60,6 @@ sub as_hash {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/DatabaseSetting.pm b/lib/Prophet/DatabaseSetting.pm
index fdcb942..d04233e 100644
--- a/lib/Prophet/DatabaseSetting.pm
+++ b/lib/Prophet/DatabaseSetting.pm
@@ -1,5 +1,5 @@
 package Prophet::DatabaseSetting;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 
 use Params::Validate;
@@ -79,7 +79,7 @@ sub get {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/ForeignReplica.pm b/lib/Prophet/ForeignReplica.pm
index d1b43d9..6fd0126 100644
--- a/lib/Prophet/ForeignReplica.pm
+++ b/lib/Prophet/ForeignReplica.pm
@@ -1,5 +1,5 @@
 package Prophet::ForeignReplica;
-use Moose;
+use Any::Moose;
 use Params::Validate qw(:all);
 use Data::UUID 'NameSpace_DNS';
 extends 'Prophet::Replica';
@@ -124,7 +124,7 @@ sub log {
 }
 
 
-no Moose;
+no Any::Moose;
 __PACKAGE__->meta->make_immutable;
 
 1;
diff --git a/lib/Prophet/Meta/Types.pm b/lib/Prophet/Meta/Types.pm
index 809633d..1350dde 100644
--- a/lib/Prophet/Meta/Types.pm
+++ b/lib/Prophet/Meta/Types.pm
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 
 package Prophet::Meta::Types;
-use Moose::Util::TypeConstraints;
+use Any::Moose 'Util::TypeConstraints';
 
 enum 'Prophet::Type::ChangeType' => qw/add_file add_dir update_file delete/;
 enum 'Prophet::Type::FileOpConflict' => qw/delete_missing_file update_missing_file create_existing_file create_existing_dir/;
diff --git a/lib/Prophet/PropChange.pm b/lib/Prophet/PropChange.pm
index a316afe..b848faa 100644
--- a/lib/Prophet/PropChange.pm
+++ b/lib/Prophet/PropChange.pm
@@ -1,5 +1,5 @@
 package Prophet::PropChange;
-use Moose;
+use Any::Moose;
 
 has name => (
     is  => 'rw',
@@ -58,6 +58,6 @@ sub summary {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Record.pm b/lib/Prophet/Record.pm
index b96f0d4..47b2f35 100644
--- a/lib/Prophet/Record.pm
+++ b/lib/Prophet/Record.pm
@@ -1,5 +1,5 @@
 package Prophet::Record;
-use Moose;
+use Any::Moose;
 use Params::Validate;
 use Prophet::App; # for require_module. Kinda hacky
 use constant collection_class => 'Prophet::Collection';
@@ -921,5 +921,5 @@ sub collection_reference_methods {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 1;
diff --git a/lib/Prophet/Replica.pm b/lib/Prophet/Replica.pm
index 4fbd32b..775207b 100644
--- a/lib/Prophet/Replica.pm
+++ b/lib/Prophet/Replica.pm
@@ -1,5 +1,5 @@
 package Prophet::Replica;
-use Moose;
+use Any::Moose;
 use Params::Validate qw(:all);
 use File::Spec ();
 
@@ -1064,6 +1064,6 @@ sub display_name_for_uuid {
 }
 
 __PACKAGE__->meta->make_immutable();
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Replica/prophet.pm b/lib/Prophet/Replica/prophet.pm
index 2255934..c902731 100644
--- a/lib/Prophet/Replica/prophet.pm
+++ b/lib/Prophet/Replica/prophet.pm
@@ -1,5 +1,5 @@
 package Prophet::Replica::prophet;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Replica';
 use Params::Validate qw(:all);
 use LWP::Simple ();
@@ -1090,6 +1090,6 @@ sub write_userdata {
 }
 
 __PACKAGE__->meta->make_immutable();
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Replica/sqlite.pm b/lib/Prophet/Replica/sqlite.pm
index 2c728a9..e9028b5 100644
--- a/lib/Prophet/Replica/sqlite.pm
+++ b/lib/Prophet/Replica/sqlite.pm
@@ -1,5 +1,5 @@
 package Prophet::Replica::sqlite;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Replica';
 use Params::Validate qw(:all);
 use File::Spec  ();
@@ -828,6 +828,6 @@ sub DEMOLISH {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/ReplicaExporter.pm b/lib/Prophet/ReplicaExporter.pm
index d49d3fb..fe80082 100644
--- a/lib/Prophet/ReplicaExporter.pm
+++ b/lib/Prophet/ReplicaExporter.pm
@@ -1,5 +1,5 @@
 package Prophet::ReplicaExporter;
-use Moose;
+use Any::Moose;
 use Params::Validate qw(:all);
 use File::Spec;
 use Prophet::Record;
@@ -138,6 +138,6 @@ sub export_changesets {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/ReplicaFeedExporter.pm b/lib/Prophet/ReplicaFeedExporter.pm
index 15ee4c3..26f2b1e 100644
--- a/lib/Prophet/ReplicaFeedExporter.pm
+++ b/lib/Prophet/ReplicaFeedExporter.pm
@@ -1,5 +1,5 @@
 package Prophet::ReplicaFeedExporter;
-use Moose;
+use Any::Moose;
 extends 'Prophet::ReplicaExporter';
 
 my $feed_updated;
@@ -168,5 +168,5 @@ sub tag ($$;&) {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
diff --git a/lib/Prophet/Resolver.pm b/lib/Prophet/Resolver.pm
index bcc9008..8161dad 100644
--- a/lib/Prophet/Resolver.pm
+++ b/lib/Prophet/Resolver.pm
@@ -1,8 +1,8 @@
 package Prophet::Resolver;
-use Moose;
+use Any::Moose;
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Resolver/AlwaysSource.pm b/lib/Prophet/Resolver/AlwaysSource.pm
index 2428f34..353e19f 100644
--- a/lib/Prophet/Resolver/AlwaysSource.pm
+++ b/lib/Prophet/Resolver/AlwaysSource.pm
@@ -1,5 +1,5 @@
 package Prophet::Resolver::AlwaysSource;
-use Moose;
+use Any::Moose;
 use Prophet::Change;
 extends 'Prophet::Resolver';
 
@@ -13,6 +13,6 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Resolver/AlwaysTarget.pm b/lib/Prophet/Resolver/AlwaysTarget.pm
index e87e9dd..1d0326c 100644
--- a/lib/Prophet/Resolver/AlwaysTarget.pm
+++ b/lib/Prophet/Resolver/AlwaysTarget.pm
@@ -1,5 +1,5 @@
 package Prophet::Resolver::AlwaysTarget;
-use Moose;
+use Any::Moose;
 use Data::Dumper;
 extends 'Prophet::Resolver';
 
@@ -29,7 +29,7 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Resolver/Failed.pm b/lib/Prophet/Resolver/Failed.pm
index bdb3882..805662d 100644
--- a/lib/Prophet/Resolver/Failed.pm
+++ b/lib/Prophet/Resolver/Failed.pm
@@ -1,5 +1,5 @@
 package Prophet::Resolver::Failed;
-use Moose;
+use Any::Moose;
 use Data::Dumper;
 extends 'Prophet::Resolver';
 
@@ -15,6 +15,6 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Resolver/FromResolutionDB.pm b/lib/Prophet/Resolver/FromResolutionDB.pm
index ae23cc7..3e3322c 100644
--- a/lib/Prophet/Resolver/FromResolutionDB.pm
+++ b/lib/Prophet/Resolver/FromResolutionDB.pm
@@ -1,5 +1,5 @@
 package Prophet::Resolver::FromResolutionDB;
-use Moose;
+use Any::Moose;
 use Prophet::Change;
 use Prophet::Collection;
 use JSON;
@@ -46,6 +46,6 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Resolver/IdenticalChanges.pm b/lib/Prophet/Resolver/IdenticalChanges.pm
index 6fa94c7..8ddbf57 100644
--- a/lib/Prophet/Resolver/IdenticalChanges.pm
+++ b/lib/Prophet/Resolver/IdenticalChanges.pm
@@ -1,5 +1,5 @@
 package Prophet::Resolver::IdenticalChanges;
-use Moose;
+use Any::Moose;
 use Params::Validate qw(:all);
 use Prophet::Change;
 extends 'Prophet::Resolver';
@@ -61,6 +61,6 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Resolver/Prompt.pm b/lib/Prophet/Resolver/Prompt.pm
index e876105..0056f4d 100644
--- a/lib/Prophet/Resolver/Prompt.pm
+++ b/lib/Prophet/Resolver/Prompt.pm
@@ -1,5 +1,5 @@
 package Prophet::Resolver::Prompt;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Resolver';
 
 sub run {
@@ -58,7 +58,7 @@ sub run {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Server.pm b/lib/Prophet/Server.pm
index a9484f9..6624374 100644
--- a/lib/Prophet/Server.pm
+++ b/lib/Prophet/Server.pm
@@ -1,5 +1,5 @@
 package Prophet::Server;
-use Moose;
+use Any::Moose;
 extends qw'HTTP::Server::Simple::CGI';
 
 use Prophet::Server::Controller;
diff --git a/lib/Prophet/Server/Controller.pm b/lib/Prophet/Server/Controller.pm
index 312d2fc..6f5faa9 100644
--- a/lib/Prophet/Server/Controller.pm
+++ b/lib/Prophet/Server/Controller.pm
@@ -1,5 +1,5 @@
 package Prophet::Server::Controller;
-use Moose;
+use Any::Moose;
 use Prophet::Util;
 use Prophet::Web::Result;
 
@@ -246,7 +246,7 @@ sub string_to_hash {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Server/Dispatcher.pm b/lib/Prophet/Server/Dispatcher.pm
index 9bead8c..e405c05 100644
--- a/lib/Prophet/Server/Dispatcher.pm
+++ b/lib/Prophet/Server/Dispatcher.pm
@@ -1,5 +1,5 @@
 package Prophet::Server::Dispatcher;
-use Moose;
+use Any::Moose;
 use Path::Dispatcher::Declarative -base;
 
 has server => ( isa => 'Prophet::Server', is => 'rw', weak_ref => 1 );
@@ -36,6 +36,6 @@ under 'GET' => sub {
 
 on qr'^(?:GET|POST|PUT|DELETE|PATCH)/(.*)$' => sub { shift->server->show_template($1) || next_rule; };
 
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Server/ViewHelpers/Function.pm b/lib/Prophet/Server/ViewHelpers/Function.pm
index dc638b5..8d9e13b 100644
--- a/lib/Prophet/Server/ViewHelpers/Function.pm
+++ b/lib/Prophet/Server/ViewHelpers/Function.pm
@@ -17,8 +17,8 @@ BEGIN { delete ${__PACKAGE__."::"}{meta};
 
 =cut
 
-use Moose;
-use Moose::Util::TypeConstraints;
+use Any::Moose;
+use Any::Moose 'Util::TypeConstraints';
 
 
 has record => (
@@ -79,6 +79,6 @@ sub render {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 1;
 
diff --git a/lib/Prophet/Server/ViewHelpers/HiddenParam.pm b/lib/Prophet/Server/ViewHelpers/HiddenParam.pm
index 5d6a51e..a04fe44 100644
--- a/lib/Prophet/Server/ViewHelpers/HiddenParam.pm
+++ b/lib/Prophet/Server/ViewHelpers/HiddenParam.pm
@@ -6,12 +6,12 @@ BEGIN { delete ${__PACKAGE__."::"}{meta};
  delete ${__PACKAGE__."::"}{with};
 }
 
-use Moose;
+use Any::Moose;
 
 extends 'Prophet::Server::ViewHelpers::Widget';
 
 
-use Moose::Util::TypeConstraints;
+use Any::Moose 'Util::TypeConstraints';
 
 
 has value => ( isa => 'Str', is => 'rw');
@@ -38,7 +38,7 @@ sub render {
 
 }
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Server/ViewHelpers/ParamFromFunction.pm b/lib/Prophet/Server/ViewHelpers/ParamFromFunction.pm
index 1fad0c3..c8509e6 100644
--- a/lib/Prophet/Server/ViewHelpers/ParamFromFunction.pm
+++ b/lib/Prophet/Server/ViewHelpers/ParamFromFunction.pm
@@ -6,9 +6,9 @@ BEGIN { delete ${__PACKAGE__."::"}{meta};
  delete ${__PACKAGE__."::"}{with};
 }
 
-use Moose;
+use Any::Moose;
 
-use Moose::Util::TypeConstraints;
+use Any::Moose 'Util::TypeConstraints';
 
 
 =head1 NAME
@@ -70,7 +70,7 @@ sub _generate_name {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Server/ViewHelpers/Widget.pm b/lib/Prophet/Server/ViewHelpers/Widget.pm
index 0ba5309..a0cf337 100644
--- a/lib/Prophet/Server/ViewHelpers/Widget.pm
+++ b/lib/Prophet/Server/ViewHelpers/Widget.pm
@@ -6,9 +6,9 @@ BEGIN { delete ${__PACKAGE__."::"}{meta};
  delete ${__PACKAGE__."::"}{with};
 }
 
-use Moose;
+use Any::Moose;
 
-use Moose::Util::TypeConstraints;
+use Any::Moose 'Util::TypeConstraints';
 
 =head1 NAME
 
@@ -110,7 +110,7 @@ sub _generate_name {
 =cut
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Test/Arena.pm b/lib/Prophet/Test/Arena.pm
index 7d1c330..17b34fe 100644
--- a/lib/Prophet/Test/Arena.pm
+++ b/lib/Prophet/Test/Arena.pm
@@ -1,5 +1,5 @@
 package Prophet::Test::Arena;
-use Moose;
+use Any::Moose;
 
 has chickens => (
     is         => 'rw',
@@ -173,6 +173,6 @@ sub record {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Test/Participant.pm b/lib/Prophet/Test/Participant.pm
index e2cf027..2f22cd8 100644
--- a/lib/Prophet/Test/Participant.pm
+++ b/lib/Prophet/Test/Participant.pm
@@ -1,5 +1,5 @@
 package Prophet::Test::Participant;
-use Moose;
+use Any::Moose;
 use Prophet::Test;
 
 has name => (
@@ -197,6 +197,6 @@ sub call_func {
 }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Web/Field.pm b/lib/Prophet/Web/Field.pm
index d4ac0c7..b28fa7e 100644
--- a/lib/Prophet/Web/Field.pm
+++ b/lib/Prophet/Web/Field.pm
@@ -1,5 +1,5 @@
 package Prophet::Web::Field;
-use Moose;
+use Any::Moose;
 
 has name   => ( isa => 'Str',             is => 'rw' );
 has record => ( isa => 'Prophet::Record', is => 'rw' );
@@ -79,6 +79,6 @@ EOF
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/lib/Prophet/Web/FunctionResult.pm b/lib/Prophet/Web/FunctionResult.pm
index 38c7a5d..0967640 100644
--- a/lib/Prophet/Web/FunctionResult.pm
+++ b/lib/Prophet/Web/FunctionResult.pm
@@ -1,5 +1,5 @@
 package Prophet::Web::FunctionResult;
-use Moose;
+use Any::Moose;
 
 =head1 NAME
 
@@ -31,7 +31,7 @@ sub get    { $_[0]->result>{$_[1]} }
 sub set    { $_[0]->result->{$_[1]} = $_[2] }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/lib/Prophet/Web/Menu.pm b/lib/Prophet/Web/Menu.pm
index 2af11f3..6ed76ec 100644
--- a/lib/Prophet/Web/Menu.pm
+++ b/lib/Prophet/Web/Menu.pm
@@ -1,6 +1,6 @@
 package Prophet::Web::Menu;
 
-use Moose;
+use Any::Moose;
 use URI;
 
 has cgi => (isa =>'CGI', is=>'ro');
diff --git a/lib/Prophet/Web/Result.pm b/lib/Prophet/Web/Result.pm
index 6027193..396184c 100644
--- a/lib/Prophet/Web/Result.pm
+++ b/lib/Prophet/Web/Result.pm
@@ -1,5 +1,5 @@
 package Prophet::Web::Result;
-use Moose;
+use Any::Moose;
 
 use Prophet::Web::FunctionResult;
 
@@ -31,7 +31,7 @@ sub exists { exists $_[0]->functions->{$_[1]} }
 sub items  { keys %{ $_[0]->functions } }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 

commit cb508b365d5a607481add5f02cd7315599d416aa
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 20:39:59 2009 -0500

    Work around Mouse not having writer

diff --git a/lib/Prophet/Replica/prophet.pm b/lib/Prophet/Replica/prophet.pm
index c902731..9c19578 100644
--- a/lib/Prophet/Replica/prophet.pm
+++ b/lib/Prophet/Replica/prophet.pm
@@ -22,9 +22,8 @@ has '+db_uuid' => (
 
 has _uuid => ( is => 'rw', );
 
-has replica_version => (
-    is      => 'ro',
-    writer  => '_set_replica_version',
+has _replica_version => (
+    is      => 'rw',
     isa     => 'Int',
     lazy    => 1,
     default => sub { shift->_read_file('replica-version') || 0 }
@@ -228,9 +227,17 @@ Returns false otherwise.
 
 sub replica_exists {
     my $self = shift;
-    return $self->replica_version ? 1 : 0;
+    return $self->_replica_version ? 1 : 0;
 }
 
+=head2 replica_version
+
+Returns this replica's version.
+
+=cut
+
+sub replica_version { shift->_replica_version }
+
 =head2 set_replica_version
 
 Sets the replica's version to the given integer.
@@ -241,7 +248,7 @@ sub set_replica_version {
     my $self    = shift;
     my $version = shift;
 
-    $self->_set_replica_version($version);
+    $self->_replica_version($version);
 
     $self->_write_file(
         path    => 'replica-version',

commit 99cf8f4400f79f595f934831cfbf6ce5db235d90
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 20:42:57 2009 -0500

    Work around Mouse not having writer

diff --git a/lib/Prophet/Replica/prophet.pm b/lib/Prophet/Replica/prophet.pm
index 9c19578..9b2366e 100644
--- a/lib/Prophet/Replica/prophet.pm
+++ b/lib/Prophet/Replica/prophet.pm
@@ -236,7 +236,7 @@ Returns this replica's version.
 
 =cut
 
-sub replica_version { shift->_replica_version }
+sub replica_version { die "replica_version is read-only; you want set_replica_version." if @_ > 1; shift->_replica_version }
 
 =head2 set_replica_version
 
diff --git a/lib/Prophet/Replica/sqlite.pm b/lib/Prophet/Replica/sqlite.pm
index e9028b5..78d3fd4 100644
--- a/lib/Prophet/Replica/sqlite.pm
+++ b/lib/Prophet/Replica/sqlite.pm
@@ -29,9 +29,8 @@ has '+db_uuid' => (
 
 has _uuid => ( is => 'rw', );
 
-has replica_version => (
-    is      => 'ro',
-    writer  => '_set_replica_version',
+has _replica_version => (
+    is      => 'rw',
     isa     => 'Int',
     lazy    => 1,
     default => sub { shift->fetch_local_metadata('replica-version') || 0 }
@@ -161,6 +160,14 @@ sub replica_exists {
     return -f $self->db_file ? 1 : 0;
 }
 
+=head2 replica_version
+
+Returns this replica's version.
+
+=cut
+
+sub replica_version { die "replica_version is read-only; you want set_replica_version." if @_ > 1; shift->_replica_version }
+
 =head2 set_replica_version
 
 Sets the replica's version to the given integer.
@@ -171,7 +178,7 @@ sub set_replica_version {
     my $self    = shift;
     my $version = shift;
 
-    $self->_set_replica_version($version);
+    $self->_replica_version($version);
 
     $self->store_local_metadata( 'replica-version' => $version,);
 

commit ec32a36e2298fc757b18b3564b77a6c4f05d609c
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 20:45:39 2009 -0500

    Work around Mouse not having writer by providing a set_db_uuid

diff --git a/lib/Prophet/Replica.pm b/lib/Prophet/Replica.pm
index 775207b..b06028e 100644
--- a/lib/Prophet/Replica.pm
+++ b/lib/Prophet/Replica.pm
@@ -29,9 +29,9 @@ has is_resdb => (
 has db_uuid => (
     is     => 'rw',
     isa    => 'Str',
-    writer => 'set_db_uuid',
     documentation => 'The uuid of this replica.',
 );
+sub set_db_uuid { $_[0]->db_uuid(@_) }
 
 has url => (
     is  => 'rw',

commit e89caa585c0cdd38048f39690983526471e75b86
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 20:46:14 2009 -0500

    Need to shift off $self so it doesn't get passed in twice

diff --git a/lib/Prophet/Replica.pm b/lib/Prophet/Replica.pm
index b06028e..fd94352 100644
--- a/lib/Prophet/Replica.pm
+++ b/lib/Prophet/Replica.pm
@@ -31,7 +31,7 @@ has db_uuid => (
     isa    => 'Str',
     documentation => 'The uuid of this replica.',
 );
-sub set_db_uuid { $_[0]->db_uuid(@_) }
+sub set_db_uuid { shift->db_uuid(@_) }
 
 has url => (
     is  => 'rw',

commit 36da5f6c6a5517675e389c41a8e167fd289079f9
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 21:09:49 2009 -0500

    Rewrite uses of Maybe[Foo] to be Foo|Undef

diff --git a/lib/Prophet/ChangeSet.pm b/lib/Prophet/ChangeSet.pm
index f1b14fb..572516b 100644
--- a/lib/Prophet/ChangeSet.pm
+++ b/lib/Prophet/ChangeSet.pm
@@ -5,12 +5,12 @@ use Params::Validate;
 
 has creator => (
     is  => 'rw',
-    isa => 'Maybe[Str]',
+    isa => 'Str|Undef',
 );
 
 has created => (
     is      => 'rw',
-    isa     => 'Maybe[Str]',
+    isa     => 'Str|Undef',
     default => sub {
         my ($sec, $min, $hour, $day, $month, $year) = gmtime;
         $year += 1900;
@@ -28,7 +28,7 @@ has source_uuid => (
 
 has sequence_no => (
     is  => 'rw',
-    isa => 'Maybe[Int]',
+    isa => 'Int|Undef',
 );
 
 has original_source_uuid => (
@@ -38,7 +38,7 @@ has original_source_uuid => (
 
 has original_sequence_no => (
     is  => 'rw',
-    isa => 'Maybe[Int]',
+    isa => 'Int|Undef',
 );
 
 has is_nullification => (
diff --git a/lib/Prophet/Collection.pm b/lib/Prophet/Collection.pm
index 168cf37..4885e53 100644
--- a/lib/Prophet/Collection.pm
+++ b/lib/Prophet/Collection.pm
@@ -8,7 +8,7 @@ use constant record_class => 'Prophet::Record';
 
 has app_handle => (
     is  => 'rw',
-    isa => 'Maybe[Prophet::App]',
+    isa => 'Prophet::App|Undef',
     required => 0,
     trigger => sub {
         my ($self, $app) = @_;
diff --git a/lib/Prophet/ConflictingPropChange.pm b/lib/Prophet/ConflictingPropChange.pm
index ed163a2..3a6d669 100644
--- a/lib/Prophet/ConflictingPropChange.pm
+++ b/lib/Prophet/ConflictingPropChange.pm
@@ -8,17 +8,17 @@ has name => (
 
 has source_old_value => (
     is  => 'rw',
-    isa => 'Maybe[Str]',
+    isa => 'Str|Undef',
 );
 
 has target_value => (
     is  => 'rw',
-    isa => 'Maybe[Str]',
+    isa => 'Str|Undef',
 );
 
 has source_new_value => (
     is  => 'rw',
-    isa => 'Maybe[Str]',
+    isa => 'Str|Undef',
 );
 
 =head1 NAME
diff --git a/lib/Prophet/DatabaseSetting.pm b/lib/Prophet/DatabaseSetting.pm
index d04233e..a223446 100644
--- a/lib/Prophet/DatabaseSetting.pm
+++ b/lib/Prophet/DatabaseSetting.pm
@@ -10,7 +10,7 @@ has default => (
 );
 
 has label => (
-    isa => 'Maybe[Str]',
+    isa => 'Str|Undef',
     is  => 'rw',
 );
 
diff --git a/lib/Prophet/PropChange.pm b/lib/Prophet/PropChange.pm
index b848faa..cbb2990 100644
--- a/lib/Prophet/PropChange.pm
+++ b/lib/Prophet/PropChange.pm
@@ -8,12 +8,12 @@ has name => (
 
 has old_value => (
     is  => 'rw',
-    isa => 'Maybe[Str]',
+    isa => 'Str|Undef',
 );
 
 has new_value => (
     is  => 'rw',
-    isa => 'Maybe[Str]',
+    isa => 'Str|Undef',
 );
 
 =head1 NAME
diff --git a/lib/Prophet/Record.pm b/lib/Prophet/Record.pm
index 47b2f35..c5c15c0 100644
--- a/lib/Prophet/Record.pm
+++ b/lib/Prophet/Record.pm
@@ -15,7 +15,7 @@ This class represents a base class for any record in a Prophet database.
 =cut
 
 has app_handle => (
-    isa      => 'Maybe[Prophet::App]',
+    isa      => 'Prophet::App|Undef',
     is       => 'rw',
     required => 0,
 );
@@ -41,7 +41,7 @@ has uuid => (
 
 has luid => (
     is  => 'rw',
-    isa => 'Maybe[Str]',
+    isa => 'Str|Undef',
     lazy => 1,
     default => sub { my $self = shift; $self->find_or_create_luid; },
 );
diff --git a/lib/Prophet/Server.pm b/lib/Prophet/Server.pm
index 6624374..e654a6f 100644
--- a/lib/Prophet/Server.pm
+++ b/lib/Prophet/Server.pm
@@ -24,8 +24,8 @@ has app_handle => (
     handles => [qw/handle/]
 );
 
-has cgi        => ( isa => 'Maybe[CGI]',                is  => 'rw' );
-has nav        => ( isa => 'Maybe[Prophet::Web::Menu]', is  => 'rw' );
+has cgi        => ( isa => 'CGI|Undef',                is  => 'rw' );
+has nav        => ( isa => 'Prophet::Web::Menu|Undef', is  => 'rw' );
 has read_only  => ( isa  => 'Bool',                        is => 'rw' );
 has static     => ( isa =>  'Bool',                        is => 'rw');
 has view_class => ( isa => 'Str',                       is  => 'rw' );
diff --git a/lib/Prophet/Server/ViewHelpers/Widget.pm b/lib/Prophet/Server/ViewHelpers/Widget.pm
index a0cf337..98228aa 100644
--- a/lib/Prophet/Server/ViewHelpers/Widget.pm
+++ b/lib/Prophet/Server/ViewHelpers/Widget.pm
@@ -29,11 +29,11 @@ has prop => ( isa => 'Str', is => 'ro' );
 
 has field => ( isa => 'Prophet::Web::Field', is => 'rw');
 
-has type => ( isa => 'Maybe[Str]', is => 'rw');
+has type => ( isa => 'Str|Undef', is => 'rw');
 
 has autocomplete => (isa => 'Bool', is => 'rw', default => 1);
 
-has default => ( isa => 'Maybe[Str]', is => 'rw');
+has default => ( isa => 'Str|Undef', is => 'rw');
 
 sub render {
     my $self = shift;
diff --git a/lib/Prophet/Web/Field.pm b/lib/Prophet/Web/Field.pm
index b28fa7e..24167b6 100644
--- a/lib/Prophet/Web/Field.pm
+++ b/lib/Prophet/Web/Field.pm
@@ -6,10 +6,10 @@ has record => ( isa => 'Prophet::Record', is => 'rw' );
 has prop  => ( isa => 'Str',             is => 'rw' );
 has value  => ( isa => 'Str',             is => 'rw' );
 has label => ( isa => 'Str', is => 'rw', default => sub {''});
-has id    => ( isa => 'Maybe[Str]', is => 'rw' );
-has class => ( isa => 'Maybe[Str]', is => 'rw' );
-has value => ( isa => 'Maybe[Str]', is => 'rw' );
-has type => ( isa => 'Maybe[Str]', is => 'rw', default => 'text');
+has id    => ( isa => 'Str|Undef', is => 'rw' );
+has class => ( isa => 'Str|Undef', is => 'rw' );
+has value => ( isa => 'Str|Undef', is => 'rw' );
+has type => ( isa => 'Str|Undef', is => 'rw', default => 'text');
 
 
 
diff --git a/lib/Prophet/Web/FunctionResult.pm b/lib/Prophet/Web/FunctionResult.pm
index 0967640..3c235f7 100644
--- a/lib/Prophet/Web/FunctionResult.pm
+++ b/lib/Prophet/Web/FunctionResult.pm
@@ -15,7 +15,7 @@ use Any::Moose;
 
 has class => ( isa => 'Str', is => 'rw');
 has function_name => ( isa => 'Str', is => 'rw');
-has record_uuid => (isa => 'Maybe[Str]', is => 'rw');
+has record_uuid => (isa => 'Str|Undef', is => 'rw');
 has success => (isa => 'Bool', is => 'rw');
 has message => (isa => 'Str', is => 'rw');
 
diff --git a/lib/Prophet/Web/Menu.pm b/lib/Prophet/Web/Menu.pm
index 6ed76ec..465ce85 100644
--- a/lib/Prophet/Web/Menu.pm
+++ b/lib/Prophet/Web/Menu.pm
@@ -5,7 +5,7 @@ use URI;
 
 has cgi => (isa =>'CGI', is=>'ro');
 has label => ( isa => 'Str', is => 'rw');
-has parent => ( isa => 'Maybe[Prophet::Web::Menu]', is => 'rw', weakref => 1);
+has parent => ( isa => 'Prophet::Web::Menu|Undef', is => 'rw', weakref => 1);
 has sort_order => ( isa => 'Str', is => 'rw');
 has render_children_inline => ( isa => 'Bool', is => 'rw', default => 0);
 has url => ( isa => 'Str', is => 'rw');

commit 32a7bcd7cba4a0bf05bd8de9542def4aa92892a4
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 21:11:24 2009 -0500

    Need to Any::Moose Prophet::Meta::Types so the right
    Util::TypeConstraints is loaded

diff --git a/lib/Prophet/Meta/Types.pm b/lib/Prophet/Meta/Types.pm
index 1350dde..26dc838 100644
--- a/lib/Prophet/Meta/Types.pm
+++ b/lib/Prophet/Meta/Types.pm
@@ -1,7 +1,5 @@
-use strict;
-use warnings;
-
 package Prophet::Meta::Types;
+use Any::Moose;
 use Any::Moose 'Util::TypeConstraints';
 
 enum 'Prophet::Type::ChangeType' => qw/add_file add_dir update_file delete/;

commit 064c19fe927bc20cdb29fb2f64cda1007fb26968
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 21:11:41 2009 -0500

    Mouse doesn't have get_all_methods but it does have get_method_list

diff --git a/lib/Prophet/Record.pm b/lib/Prophet/Record.pm
index c5c15c0..b9eeaf8 100644
--- a/lib/Prophet/Record.pm
+++ b/lib/Prophet/Record.pm
@@ -532,12 +532,12 @@ sub default_props {
     my $self   = shift;
     my $props  = shift;
 
-    my @methods = grep { $_->name =~ /^default_prop_/ } $self->meta->get_all_methods;
+    my @methods = grep { /^default_prop_/ } $self->meta->get_method_list;
 
     for my $method (@methods) {
-        my ($key) = $method->name =~ /^default_prop_(.+)$/;
+        my ($key) = $method =~ /^default_prop_(.+)$/;
 
-        $props->{$key} = $method->( $self, props => $props)
+        $props->{$key} = $self->$method(props => $props)
             if !defined($props->{$key});
     }
 

commit be6c0c13bcc85da2dd016e51206100cbd9b65d62
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 21:27:46 2009 -0500

    Avoid parameterized types, since Mouse lacks them

diff --git a/lib/Prophet/Change.pm b/lib/Prophet/Change.pm
index 4756433..09bb2d9 100644
--- a/lib/Prophet/Change.pm
+++ b/lib/Prophet/Change.pm
@@ -31,7 +31,7 @@ has is_resolution => (
 
 has prop_changes => (
     is         => 'rw',
-    isa        => 'ArrayRef[Prophet::PropChange]',
+    isa        => 'ArrayRef',
     auto_deref => 1,
     default    => sub { [] },
 );
diff --git a/lib/Prophet/ChangeSet.pm b/lib/Prophet/ChangeSet.pm
index 572516b..c16dfb8 100644
--- a/lib/Prophet/ChangeSet.pm
+++ b/lib/Prophet/ChangeSet.pm
@@ -53,7 +53,7 @@ has is_resolution => (
 
 has changes => (
     is         => 'rw',
-    isa        => 'ArrayRef[Prophet::Change]',
+    isa        => 'ArrayRef',
     auto_deref => 1,
     default    => sub { [] },
 );
diff --git a/lib/Prophet/Collection.pm b/lib/Prophet/Collection.pm
index 4885e53..c3be68a 100644
--- a/lib/Prophet/Collection.pm
+++ b/lib/Prophet/Collection.pm
@@ -33,7 +33,7 @@ has type => (
 
 has items => (
     is         => 'rw',
-    isa        => 'ArrayRef[Prophet::Record]',
+    isa        => 'ArrayRef',
     default    => sub { [] },
     auto_deref => 1,
 );
diff --git a/lib/Prophet/Conflict.pm b/lib/Prophet/Conflict.pm
index a78d67c..37e9aaf 100644
--- a/lib/Prophet/Conflict.pm
+++ b/lib/Prophet/Conflict.pm
@@ -11,7 +11,7 @@ has prophet_handle => (
 
 has resolvers => (
     is         => 'rw',
-    isa        => 'ArrayRef[CodeRef]',
+    isa        => 'ArrayRef',
     default    => sub { [] },
     auto_deref => 1,
 );
diff --git a/lib/Prophet/Test/Arena.pm b/lib/Prophet/Test/Arena.pm
index 17b34fe..413eed8 100644
--- a/lib/Prophet/Test/Arena.pm
+++ b/lib/Prophet/Test/Arena.pm
@@ -3,7 +3,7 @@ use Any::Moose;
 
 has chickens => (
     is         => 'rw',
-    isa        => 'ArrayRef[Prophet::Test::Participant]',
+    isa        => 'ArrayRef',
     default    => sub { [] },
     auto_deref => 1,
 );
@@ -15,7 +15,7 @@ has record_callback => (
 
 has history => (
     is        => 'rw',
-    isa       => 'ArrayRef[ArrayRef]',
+    isa       => 'ArrayRef',
     default   => sub { [] },
 );
 
diff --git a/lib/Prophet/Web/FunctionResult.pm b/lib/Prophet/Web/FunctionResult.pm
index 3c235f7..a2589fe 100644
--- a/lib/Prophet/Web/FunctionResult.pm
+++ b/lib/Prophet/Web/FunctionResult.pm
@@ -21,7 +21,7 @@ has message => (isa => 'Str', is => 'rw');
 
 has result => (
              is        => 'rw',
-             isa       => 'HashRef[Str]',
+             isa       => 'HashRef',
              default   => sub { {} },
 );
 
diff --git a/lib/Prophet/Web/Result.pm b/lib/Prophet/Web/Result.pm
index 396184c..5b8181f 100644
--- a/lib/Prophet/Web/Result.pm
+++ b/lib/Prophet/Web/Result.pm
@@ -21,7 +21,7 @@ has success => ( isa => 'Bool', is => 'rw');
 has message => ( isa => 'Str', is => 'rw');
 has functions => (
              is        => 'rw',
-             isa       => 'HashRef[Prophet::Web::FunctionResult]',
+             isa       => 'HashRef',
              default   => sub { {} },
 );
 

commit d2f2d812070b56c6a93ccd744c6581b600f1f6b9
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 21:33:44 2009 -0500

    Missed a parameterized type

diff --git a/lib/Prophet/Conflict.pm b/lib/Prophet/Conflict.pm
index 37e9aaf..57814ad 100644
--- a/lib/Prophet/Conflict.pm
+++ b/lib/Prophet/Conflict.pm
@@ -38,7 +38,7 @@ has autoresolved => (
 
 has conflicting_changes => (
     is        => 'ro',
-    isa       => 'ArrayRef[Prophet::ConflictingChange]',
+    isa       => 'ArrayRef',
     default   => sub { [] },
 );
 

commit 20a30763348a97ada28f2cc0f285499c5f6fbc0a
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 21:34:19 2009 -0500

    Test classes need to use Any::Moose too

diff --git a/t/lib/TestApp/Bug.pm b/t/lib/TestApp/Bug.pm
index 1b449bf..62733cc 100644
--- a/t/lib/TestApp/Bug.pm
+++ b/t/lib/TestApp/Bug.pm
@@ -1,5 +1,5 @@
 package TestApp::Bug;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 
 has type => ( default => 'bug' );
@@ -27,6 +27,6 @@ sub canonicalize_prop_email {
 sub default_prop_status { 'new' }
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
diff --git a/t/lib/TestApp/BugCatcher.pm b/t/lib/TestApp/BugCatcher.pm
index 51e874e..123166c 100644
--- a/t/lib/TestApp/BugCatcher.pm
+++ b/t/lib/TestApp/BugCatcher.pm
@@ -1,5 +1,5 @@
 package TestApp::BugCatcher;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 
 has type => ( default => 'bugcatcher' );
@@ -8,5 +8,5 @@ __PACKAGE__->register_reference( bugs => 'TestApp::Bugs', by => 'bugcatcher');
 __PACKAGE__->register_reference( net => 'TestApp::ButterflyNet' );
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 1;
diff --git a/t/lib/TestApp/Bugs.pm b/t/lib/TestApp/Bugs.pm
index b18dc8e..339f250 100644
--- a/t/lib/TestApp/Bugs.pm
+++ b/t/lib/TestApp/Bugs.pm
@@ -1,9 +1,9 @@
 package TestApp::Bugs;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Collection';
 
 use constant record_class => 'TestApp::Bug';
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 1;
diff --git a/t/lib/TestApp/ButterflyNet.pm b/t/lib/TestApp/ButterflyNet.pm
index d86c58d..75a5bc1 100644
--- a/t/lib/TestApp/ButterflyNet.pm
+++ b/t/lib/TestApp/ButterflyNet.pm
@@ -1,9 +1,9 @@
 package TestApp::ButterflyNet;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 
 has type => ( default => 'net' );
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 1;

commit c2a034851e679c5ea86d42eb4475ce2e23e5f625
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 21:37:20 2009 -0500

    Don't use get_attribute_list

diff --git a/lib/Prophet/ConflictingPropChange.pm b/lib/Prophet/ConflictingPropChange.pm
index 3a6d669..15e446a 100644
--- a/lib/Prophet/ConflictingPropChange.pm
+++ b/lib/Prophet/ConflictingPropChange.pm
@@ -53,7 +53,7 @@ sub as_hash {
     my $self = shift;
     my $hashref = {};
 
-    for ($self->meta->get_attribute_list) {
+    for (qw(name source_old_value target_value source_new_value)) {
          $hashref->{$_} = $self->$_
     }
     return $hashref;

commit 5820acd7a26d47421869b52cf4b5bcd70d8daef6
Author: Shawn M Moore <sartak at gmail.com>
Date:   Wed Feb 4 22:09:16 2009 -0500

    require Mouse

diff --git a/Makefile.PL b/Makefile.PL
index 5d1ec08..09eebf1 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -19,6 +19,7 @@ requires('Proc::InvokeEditor');
 requires('Scalar::Defer' => '0.18');
 requires('Class::MOP' => '0.70');
 requires('Any::Moose');
+requires('Mouse');
 requires('XML::Atom::SimpleFeed');
 requires('Path::Dispatcher' => '0.06'); # Path::Dispatcher::Declarative
 requires('Time::Progress');

commit 12e6cafbc6b108b393a2dd2aa91473d46e99f49a
Author: Shawn M Moore <sartak at gmail.com>
Date:   Thu Feb 5 12:19:31 2009 -0500

    Depend on Mouse 0.15

diff --git a/Makefile.PL b/Makefile.PL
index 09eebf1..f2c8310 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -19,7 +19,7 @@ requires('Proc::InvokeEditor');
 requires('Scalar::Defer' => '0.18');
 requires('Class::MOP' => '0.70');
 requires('Any::Moose');
-requires('Mouse');
+requires('Mouse' => '0.15');
 requires('XML::Atom::SimpleFeed');
 requires('Path::Dispatcher' => '0.06'); # Path::Dispatcher::Declarative
 requires('Time::Progress');

commit f6057d1ad5655e5e0d4284623c99b323492c440f
Author: Shawn M Moore <sartak at gmail.com>
Date:   Thu Feb 5 12:58:02 2009 -0500

    use Any::Moose in some test files

diff --git a/t/Settings/lib/App/Settings.pm b/t/Settings/lib/App/Settings.pm
index be640b0..6ce5720 100644
--- a/t/Settings/lib/App/Settings.pm
+++ b/t/Settings/lib/App/Settings.pm
@@ -1,5 +1,5 @@
 package App::Settings;
-use Moose;
+use Any::Moose;
 
 extends 'Prophet::App';
 our $VERSION = '0.01';
@@ -19,5 +19,5 @@ sub database_settings {
 
 __PACKAGE__->meta->make_immutable;
 
-no Moose;
+no Any::Moose;
 1;
diff --git a/t/Settings/lib/App/Settings/Bug.pm b/t/Settings/lib/App/Settings/Bug.pm
index 6566720..33d0f4c 100644
--- a/t/Settings/lib/App/Settings/Bug.pm
+++ b/t/Settings/lib/App/Settings/Bug.pm
@@ -2,7 +2,7 @@ use warnings;
 use strict;
 
 package App::Settings::Bug;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 
 use base qw/Prophet::Record/;
diff --git a/t/Settings/lib/App/Settings/CLI.pm b/t/Settings/lib/App/Settings/CLI.pm
index 7f66f24..d63d7a4 100644
--- a/t/Settings/lib/App/Settings/CLI.pm
+++ b/t/Settings/lib/App/Settings/CLI.pm
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 package App::Settings::CLI;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI';
 
 use App::Settings;
@@ -11,7 +11,7 @@ has '+app_class' => (
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/t/WebToy/lib/App/WebToy.pm b/t/WebToy/lib/App/WebToy.pm
index 738e7f7..14324fe 100644
--- a/t/WebToy/lib/App/WebToy.pm
+++ b/t/WebToy/lib/App/WebToy.pm
@@ -1,5 +1,5 @@
 package App::WebToy;
-use Moose;
+use Any::Moose;
 use App::WebToy::Model::WikiPage;
 extends 'Prophet::App';
 
@@ -26,7 +26,7 @@ sub set_db_defaults {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/t/WebToy/lib/App/WebToy/CLI.pm b/t/WebToy/lib/App/WebToy/CLI.pm
index 8474ca1..429f5e8 100644
--- a/t/WebToy/lib/App/WebToy/CLI.pm
+++ b/t/WebToy/lib/App/WebToy/CLI.pm
@@ -1,5 +1,5 @@
 package App::WebToy::CLI;
-use Moose;
+use Any::Moose;
 extends 'Prophet::CLI';
 
 use App::WebToy;
@@ -10,7 +10,7 @@ has 'app_class' => (
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/t/WebToy/lib/App/WebToy/Model/WikiPage.pm b/t/WebToy/lib/App/WebToy/Model/WikiPage.pm
index b3256fb..43248f6 100644
--- a/t/WebToy/lib/App/WebToy/Model/WikiPage.pm
+++ b/t/WebToy/lib/App/WebToy/Model/WikiPage.pm
@@ -1,5 +1,5 @@
 package App::WebToy::Model::WikiPage;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 has type => ( default => 'wikipage');
 
@@ -27,7 +27,7 @@ sub default_prop_content {
 
 
 __PACKAGE__->meta->make_immutable;
-no Moose;
+no Any::Moose;
 
 1;
 
diff --git a/t/database-settings.t b/t/database-settings.t
index 0c0f1a9..9848d35 100644
--- a/t/database-settings.t
+++ b/t/database-settings.t
@@ -1,5 +1,5 @@
 package MyApp::Model::Task;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 use Prophet::DatabaseSetting;
 
diff --git a/t/history.t b/t/history.t
index a1ff696..52062db 100644
--- a/t/history.t
+++ b/t/history.t
@@ -1,10 +1,10 @@
 package App::Record;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 
 
 package App::Record::Thingy;
-use Moose;
+use Any::Moose;
 extends 'App::Record';
 
 sub type {'foo'}
diff --git a/t/validation.t b/t/validation.t
index 35651e7..bdd1f81 100644
--- a/t/validation.t
+++ b/t/validation.t
@@ -1,5 +1,5 @@
 package App::Record;
-use Moose;
+use Any::Moose;
 extends 'Prophet::Record';
 
 sub validate_prop_point {

commit dd2f86ce373594daf67f0b67c010d056ef008b90
Author: Shawn M Moore <sartak at gmail.com>
Date:   Thu Feb 5 16:22:42 2009 -0500

    Depend on Mouse 0.16 for get_all_method_names

diff --git a/Makefile.PL b/Makefile.PL
index f2c8310..6ef2e69 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -19,7 +19,7 @@ requires('Proc::InvokeEditor');
 requires('Scalar::Defer' => '0.18');
 requires('Class::MOP' => '0.70');
 requires('Any::Moose');
-requires('Mouse' => '0.15');
+requires('Mouse' => '0.16');
 requires('XML::Atom::SimpleFeed');
 requires('Path::Dispatcher' => '0.06'); # Path::Dispatcher::Declarative
 requires('Time::Progress');

commit 8234d212cec296e5d9adc08f7f0bbd54a9c0d638
Author: Shawn M Moore <sartak at gmail.com>
Date:   Thu Feb 5 16:37:23 2009 -0500

    Use get_all_method_names since that crawls up the superclass hierarchy

diff --git a/lib/Prophet/Record.pm b/lib/Prophet/Record.pm
index b9eeaf8..1caaa5d 100644
--- a/lib/Prophet/Record.pm
+++ b/lib/Prophet/Record.pm
@@ -532,7 +532,7 @@ sub default_props {
     my $self   = shift;
     my $props  = shift;
 
-    my @methods = grep { /^default_prop_/ } $self->meta->get_method_list;
+    my @methods = grep { /^default_prop_/ } $self->meta->get_all_method_names;
 
     for my $method (@methods) {
         my ($key) = $method =~ /^default_prop_(.+)$/;

-----------------------------------------------------------------------



More information about the Bps-public-commit mailing list