X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FInflateColumn%2FFile.pm;h=34db2ed02313f9344dccf19eaff73cac39fe39f5;hb=b83736a7d3235d2f50fe5695550eb3637432d960;hp=3a515a8f66c4a08f5979abb6613b360ee78001b4;hpb=a2bd379666d729133d65c85dc775627937084b18;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/InflateColumn/File.pm b/lib/DBIx/Class/InflateColumn/File.pm index 3a515a8..34db2ed 100644 --- a/lib/DBIx/Class/InflateColumn/File.pm +++ b/lib/DBIx/Class/InflateColumn/File.pm @@ -2,10 +2,17 @@ package DBIx::Class::InflateColumn::File; use strict; use warnings; + +# check deps +BEGIN { + require DBIx::Class::Optional::Dependencies; + if (my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('ic_file') ) { + die "The following extra modules are required for DBIx::Class::InflateColumn::File: $missing\n"; + } +} + use base 'DBIx::Class'; -use File::Path; use File::Copy; -use Path::Class; use DBIx::Class::Carp; use namespace::clean; @@ -20,7 +27,6 @@ carp 'InflateColumn::File has entered a deprecation cycle. This component ' unless $ENV{DBIC_IC_FILE_NOWARN}; - __PACKAGE__->load_components(qw/InflateColumn/); sub register_column { @@ -43,7 +49,7 @@ sub register_column { sub _file_column_file { my ($self, $column, $filename) = @_; - my $column_info = $self->result_source->column_info($column); + my $column_info = $self->result_source->columns_info->{$column}; return unless $column_info->{is_file_column}; @@ -68,7 +74,7 @@ sub delete { for ( keys %$colinfos ) { if ( $colinfos->{$_}{is_file_column} ) { - rmtree( [$self->_file_column_file($_)->dir], 0, 0 ); + $self->_file_column_file($_)->dir->rmtree; last; # if we've deleted one, we've deleted them all } } @@ -116,7 +122,7 @@ sub _save_file_column { return unless ref $value; my $fs_file = $self->_file_column_file($column, $value->{filename}); - mkpath [$fs_file->dir]; + $fs_file->dir->mkpath; # File::Copy doesn't like Path::Class (or any for that matter) objects, # thus ->stringify (http://rt.perl.org/rt3/Public/Bug/Display.html?id=59650)