X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FReaction%2FUI%2FViewPort%2FField%2FFile.pm;h=5d731e6f7a3c5af30fc15bc8c6cb2a4a4d629388;hb=7ea45b2aff36dd61953b1517a1cfb079dcea230c;hp=dfe4dac443ad42b493a235c345282c2ef60233d4;hpb=7893faa878977199e71b3011627dcb49d88ed555;p=catagits%2FReaction.git diff --git a/lib/Reaction/UI/ViewPort/Field/File.pm b/lib/Reaction/UI/ViewPort/Field/File.pm index dfe4dac..5d731e6 100644 --- a/lib/Reaction/UI/ViewPort/Field/File.pm +++ b/lib/Reaction/UI/ViewPort/Field/File.pm @@ -3,25 +3,27 @@ package Reaction::UI::ViewPort::Field::File; use Reaction::Class; use Reaction::Types::File; -class File is 'Reaction::UI::ViewPort::Field', which { +use namespace::clean -except => [ qw(meta) ]; +extends 'Reaction::UI::ViewPort::Field'; - has '+value' => (isa => Reaction::Types::File::File()); - has uri => ( is => 'rw', lazy_build => 1); - has action => (isa => 'CodeRef', is => 'rw', required => 1); +has '+value' => (isa => Reaction::Types::File::File()); - implements _build_uri => as{ - my $self = shift; - my $c = $self->ctx; - my ($c_name, $a_name, @rest) = @{ $self->action->($self->model, $c) }; - $c->uri_for($c->controller($c_name)->action_for($a_name),@rest); - }; +has uri => ( is => 'rw', lazy_build => 1); - implements _value_string_from_value => as { - shift->value->stringify; - }; - +has action => (isa => 'CodeRef', is => 'rw', required => 1); +sub _build_uri { + my $self = shift; + my $c = $self->ctx; + my ($c_name, $a_name, @rest) = @{ $self->action->($self->model, $c) }; + $c->uri_for($c->controller($c_name)->action_for($a_name),@rest); }; +sub _value_string_from_value { + shift->value->stringify; +}; + +__PACKAGE__->meta->make_immutable; + 1;