X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FRequest%2FUpload.pm;fp=lib%2FCatalyst%2FRequest%2FUpload.pm;h=6d7073eb86bf37a02a33a1803a7b8ff0065bba55;hb=025703186d05624d36984961c75a1e138eaed850;hp=384d33a1bd0ed9dccb1aa82a6c018dbb9bed647e;hpb=24e6a237112fbbd4ab37bce0060e6cfe18adcb83;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Request/Upload.pm b/lib/Catalyst/Request/Upload.pm index 384d33a..6d7073e 100644 --- a/lib/Catalyst/Request/Upload.pm +++ b/lib/Catalyst/Request/Upload.pm @@ -13,7 +13,7 @@ has headers => (is => 'rw'); has size => (is => 'rw'); has tempname => (is => 'rw'); has type => (is => 'rw'); -has basename => (is => 'rw'); +has basename => (is => 'ro', lazy_build => 1); has fh => ( is => 'rw', @@ -33,6 +33,15 @@ has fh => ( }, ); +sub _build_basename { + my $self = shift; + my $basename = $self->filename; + $basename =~ s|\\|/|g; + $basename = ( File::Spec::Unix->splitpath($basename) )[2]; + $basename =~ s|[^\w\.-]+|_|g; + return $basename; +} + no Moose; =head1 NAME @@ -138,19 +147,6 @@ sub slurp { return $content; } -sub basename { - my $self = shift; - unless ( $self->{basename} ) { - my $basename = $self->filename; - $basename =~ s|\\|/|g; - $basename = ( File::Spec::Unix->splitpath($basename) )[2]; - $basename =~ s|[^\w\.-]+|_|g; - $self->{basename} = $basename; - } - - return $self->{basename}; -} - =head2 $upload->basename Returns basename for C.