package Image::Delivery::Provider::Scalar; use strict; use UNIVERSAL 'isa'; use base 'Image::Delivery::Provider'; use Digest::TransformPath (); use vars qw{$VERSION}; BEGIN { $VERSION = '0.14'; } ##################################################################### # Constructor sub new { my $class = shift; my $image = ref $_[0] eq 'SCALAR' ? shift : return undef; my %params = @_; # Create the object my $self = bless { image => $image, }, $class; # Handle arguments if ( isa($params{TransformPath}, 'Digest::TransformPath') ) { $self->{TransformPath} = $params{TransformPath}; } if ( defined $params{id} and length $params{id} ) { $self->{id} = $params{id}; } if ( defined $params{content_type} and length $params{content_type} ) { $self->{content_type} = $params{content_type}; } if ( defined $params{extension} and length $params{extension} ) { $self->{extension} = $params{extension}; } # Are we allowed to use the image type passed my $extension = $self->extension or return undef; unless ( grep { $extension eq $_ } $self->filetypes ) { # Unsupported file type return undef; } $self; } sub image { $_[0]->{image} } 1;