Mojolicious-Plugin-CaptchaRenderer

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

my $builder = Module::Build->new(
	module_name       => 'Mojolicious::Plugin::CaptchaRenderer',
	license           => 'perl',
	dist_author       => 'Dmitry Konstantinov <konstantinov.dmitry@gmail.com>',
	dist_version_from => 'lib/Mojolicious/Plugin/CaptchaRenderer.pm',
	build_requires    => {
		'Test::More' => 0,
	},
	requires          => {
		'Mojolicious'   => 0,
		'Image::Magick' => 0,
		'File::Spec'    => 0,
		'File::Temp'    => 0,
	},
	meta_merge => {
		resources => {
			repository => 'git://github.com/konstantinov/Mojolicious-Plugin-CaptchaRenderer.git',
		},
		keywords  => [ qw(mojolicious captcha) ],
	},
	create_makefile_pl => 'traditional',

META.yml  view on Meta::CPAN

  url: http://module-build.sourceforge.net/META-spec-v1.4.html
  version: 1.4
name: Mojolicious-Plugin-CaptchaRenderer
provides:
  Mojolicious::Plugin::CaptchaRenderer:
    file: lib/Mojolicious/Plugin/CaptchaRenderer.pm
    version: 0.02
requires:
  File::Spec: 0
  File::Temp: 0
  Image::Magick: 0
  Mojolicious: 0
resources:
  license: http://dev.perl.org/licenses/
  repository: git://github.com/konstantinov/Mojolicious-Plugin-CaptchaRenderer.git
version: 0.02

Makefile.PL  view on Meta::CPAN

(
          'PL_FILES' => {},
          'INSTALLDIRS' => 'site',
          'NAME' => 'Mojolicious::Plugin::CaptchaRenderer',
          'EXE_FILES' => [],
          'VERSION_FROM' => 'lib/Mojolicious/Plugin/CaptchaRenderer.pm',
          'PREREQ_PM' => {
                           'Test::More' => 0,
                           'File::Temp' => 0,
                           'File::Spec' => 0,
                           'Image::Magick' => 0,
                           'Mojolicious' => 0
                         }
        )
;

lib/Mojolicious/Plugin/CaptchaRenderer.pm  view on Meta::CPAN

package Mojolicious::Plugin::CaptchaRenderer;

use strict;
use warnings;
use File::Temp;
use File::Spec;

use base 'Mojolicious::Plugin';

BEGIN {
	die 'Module Image::Magick not properly installed' unless eval { require Image::Magick; 1 }
}

our $VERSION = 0.02;

sub register {
	my ($self,$app,$conf) = @_;
	
	$conf = {
		color          => 'black',
		bgcolor        => 'white',
		size           => 60,
		wave_amplitude => 7,
		wave_length    => 80,
		%$conf,
	};
	
	$app->renderer->add_helper(
		captcha => sub {
			my ($self,$code) = @_;
			
			my $img = Image::Magick->new(size => '400x400', magick => 'png');
			my $x; $x = $img->Read('gradient:#ffffff-#ffffff');
			
			$x = $img->Annotate(
				pointsize   => $conf->{'size'}, 
				fill        => $conf->{'color'}, 
				text        => $code, 
				geometry    => '+0+' . $conf->{'size'},
				$conf->{'font'} ? (font => $conf->{'font'}) : (),
			);
			



( run in 0.356 second using v1.01-cache-2.11-cpan-beeb90c9504 )