package Template::Plugin::Image::Info;
use base qw( Template::Plugin );
use Template::Plugin;
use Image::Info qw( image_info );
use Data::Dumper;

sub new {
    my $class = shift;
    my $context = shift;
    # dereference the arguments if necessary
    my @files = map { ref($_) eq 'ARRAY' ? @{$_} : $_ } @_;

    my @info = map {
	$_ = $_->{path} if ref eq 'Template::Plugin::File';
	my $i = image_info($_);
	$i->{path} = $_;
	($i->{name}) = /.*\/(.*)$/; # yikes this will only do Unix
	$i
    } @files;

    # is there a better way to
    # fold single element arrays?
    my $ref;
    if (scalar(@info) <= 1) {
	$ref = shift @info;
    } else {
	@$ref = @info;
    }

    return $ref;
}

1;
