[Jifty-commit] r1603 - in jifty/branches/moose: .
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Mon Jul 17 21:04:45 EDT 2006
Author: audreyt
Date: Mon Jul 17 21:04:45 2006
New Revision: 1603
Added:
jifty/branches/moose/lib/Jifty/Param/
jifty/branches/moose/lib/Jifty/Param/Schema.pm
Modified:
jifty/branches/moose/Makefile.PL
Log:
* Declarative schema landed.
Modified: jifty/branches/moose/Makefile.PL
==============================================================================
--- jifty/branches/moose/Makefile.PL (original)
+++ jifty/branches/moose/Makefile.PL Mon Jul 17 21:04:45 2006
@@ -20,6 +20,7 @@
requires('Email::Send' => '1.99_01'); # Email::Send::Jifty::Test
requires('Email::Simple');
requires('Email::Simple::Creator');
+requires('Exporter::Lite');
requires('File::Find::Rule');
requires('File::MMagic');
requires('File::ShareDir');
@@ -43,6 +44,7 @@
requires('Module::Pluggable' => '2.95');
requires('Module::Refresh' => '0.09');
requires('Moose' => '0.11');
+requires('Object::Declare');
requires('Params::Validate');
requires('Pod::Simple'); #Pod::Simple::Text
requires('Scalar::Defer');
Added: jifty/branches/moose/lib/Jifty/Param/Schema.pm
==============================================================================
--- (empty file)
+++ jifty/branches/moose/lib/Jifty/Param/Schema.pm Mon Jul 17 21:04:45 2006
@@ -0,0 +1,28 @@
+package Jifty::Param::Schema;
+
+use Jifty::I18N;
+use Jifty::Param;
+use Scalar::Defer;
+use Object::Declare ['Jifty::Param'];
+use Exporter::Lite;
+use Class::Data::Inheritable;
+
+our @EXPORT = qw( defer lazy param schema from );
+
+sub schema (&) {
+ my $code = shift;
+ my $from = caller;
+ local *_ = sub {
+ my $args = \@_;
+ defer { local *_; Jifty::I18N->new; _(@$args) };
+ };
+
+ Class::Data::Inheritable::mk_classdata($from => qw/PARAMS/);
+ $from->PARAMS( &declare($code) );
+
+ no strict 'refs';
+ push @{$from . '::ISA'}, 'Jifty::Action';
+ return;
+}
+
+1;
More information about the Jifty-commit
mailing list