package FileAttributes;
    use Moose::Exporter;
    use MooseX::Types::Path::Class qw(File);
    
    Moose::Exporter->setup_import_methods(
        with_meta => ['has_file'],
    );
    
    sub has_file {
        my ($meta, $name, %options) = @_;
        $meta->add_attribute(
            $name,
            is     => 'ro',
            isa    => File,
            coerce => 1,
            %options,
        );
    }