1 use CatalystX::Declare;
5 has [qw/p1 p2/] => (is=>'ro', lazy_build=>1);
8 join ',', @{$self->attributes->{p1}};
11 join ',', @{$self->attributes->{p2}};
15 role hasActionParamsDeep {
16 has 'p_deep' => (is=>'ro', lazy_build=>1);
17 method _build_p_deep {
18 join ',', @{$self->attributes->{p_deep}};
22 controller ::Controller::ActionParams {
28 action first under base
29 with hasActionParams(p1=>100,p2=>101)
31 my $p1 = $ctx->controller->action_for('first')->p1;
32 my $p2 = $ctx->controller->action_for('first')->p2;
33 $ctx->response->body("action_args_first: $p1,$p2");
36 action second under base
37 with hasActionParams({p1=>200,p2=>201})
39 my $p1 = $ctx->controller->action_for('second')->p1;
40 my $p2 = $ctx->controller->action_for('second')->p2;
41 $ctx->response->body("action_args_second: $p1,$p2");
44 action third under base
49 my $p1 = $ctx->controller->action_for('third')->p1;
50 my $p2 = $ctx->controller->action_for('third')->p2;
51 $ctx->response->body("action_args_third: $p1,$p2");
54 action forth under base
56 hasActionParams(p1=>400,p2=>401),
57 hasActionParams(p1=>1,p2=>2, p0=>3)
59 my $action = $ctx->controller->action_for('forth');
62 $ctx->response->body("action_args_forth: $p1,$p2");
65 action first_app_ns under base
66 with hasActionParams_AppNS(p1=>100,p2=>101)
68 my $p1 = $ctx->controller->action_for('first')->p1;
69 my $p2 = $ctx->controller->action_for('first')->p2;
70 $ctx->response->body("action_args_first: $p1,$p2");
73 action first_cat_ns under base
74 with hasActionParams_CatNS(p1=>100,p2=>101)
76 my $p1 = $ctx->controller->action_for('first')->p1;
77 my $p2 = $ctx->controller->action_for('first')->p2;
78 $ctx->response->body("action_args_first: $p1,$p2");
81 action check_deep under base
82 with hasActionParamsDeep(p_deep=>{a=>1,b=>2}) is final {
83 my $action = $ctx->controller->action_for('check_deep');
84 my $p_deep = $action->p_deep;
85 ## $ctx->log->_dump($action->attributes);
86 $ctx->response->body("action_args_deep: $p_deep");