class CatalystX::Declare extends MooseX::Declare is dirty {
+ use aliased 'CatalystX::Declare::Keyword::Model', 'ModelKeyword';
+ use aliased 'CatalystX::Declare::Keyword::View', 'ViewKeyword';
use aliased 'CatalystX::Declare::Keyword::Controller', 'ControllerKeyword';
use aliased 'CatalystX::Declare::Keyword::Role', 'RoleKeyword';
use aliased 'CatalystX::Declare::Keyword::Application', 'ApplicationKeyword';
clean;
- our $VERSION = '0.001';
+ our $VERSION = '0.007';
- around keywords {
+ around keywords (ClassName $self:) {
$self->$orig,
- ControllerKeyword->new(identifier => 'controller'),
- RoleKeyword->new(identifier => 'controller_role'),
- ApplicationKeyword->new(identifier => 'application'),
+ ControllerKeyword->new( identifier => 'controller' ),
+ RoleKeyword->new( identifier => 'controller_role' ),
+ ApplicationKeyword->new( identifier => 'application' ),
+ ViewKeyword->new( identifier => 'view' ),
+ ModelKeyword->new( identifier => 'model' ),
}
}
$CLASS->config(name => 'My Declarative Web Application');
}
+See also:
+L<CatalystX::Declare::Keyword::Application>,
+L<MooseX::Declare/class>
+
=head2 Controllers
use CatalystX::Declare;
method _build_welcome_message { 'Welcome' }
- action base as '';
+ action base under '/' as '';
under base {
}
}
+See also:
+L<CatalystX::Declare::Keyword::Controller>,
+L<CatalystX::Declare::Keyword::Action>,
+L<CatalystX::Declare::Keyword::Component>,
+L<MooseX::Declare/class>
+
=head2 Roles
use CatalystX::Declare;
}
}
+See also:
+L<CatalystX::Declare::Keyword::Role>,
+L<CatalystX::Declare::Keyword::Action>,
+L<MooseX::Declare/class>
+
+=head2 Views
+
+ use CatalystX::Declare;
+
+ view MyApp::Web::View::TT
+ extends Catalyst::View::TT {
+
+ $CLASS->config(
+ TEMPLATE_EXTENSION => '.html',
+ );
+ }
+
+See also:
+L<CatalystX::Declare::Keyword::View>,
+L<CatalystX::Declare::Keyword::Component>,
+L<MooseX::Declare/class>
+
+=head2 Models
+
+ use CatalystX::Declare;
+
+ model MyApp::Web::Model::DBIC::Schema
+ extends Catalyst::Model::DBIC::Schema {
+
+ $CLASS->config(
+ schema_class => 'MyApp::Schema',
+ );
+ }
+
+See also:
+L<CatalystX::Declare::Keyword::Model>,
+L<CatalystX::Declare::Keyword::Component>,
+L<MooseX::Declare/class>
+
=head1 DESCRIPTION
B<This module is EXPERIMENTAL>
=item L<CatalystX::Declare::Keyword::Application>
-=item L<CatalystX::Declare::Keyword::Controller>
-
=item L<CatalystX::Declare::Keyword::Action>
+=item L<CatalystX::Declare::Keyword::Controller>
+
=item L<CatalystX::Declare::Keyword::Role>
+=item L<CatalystX::Declare::Keyword::View>
+
+=item L<CatalystX::Declare::Keyword::Model>
+
=back
Things like models, views, roles for request or response objects, can be built
controller MyApp::Web::Controller::Baz {
- final action qux {
+ final action qux under '/' {
$ctx->response->body(Foo->new->bar)
}
}