diff options
author | dakkar <dakkar@thenautilus.net> | 2010-11-25 22:45:20 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2010-11-25 22:45:20 +0000 |
commit | 257d5834801afe7d9ddffa81f78d6b7f8d08822a (patch) | |
tree | e62760f971bd71d67fb130637f35c00971b76896 /lib/GridFiller/Scaler.pm | |
parent | smarter chooser (diff) | |
download | qr-builder-257d5834801afe7d9ddffa81f78d6b7f8d08822a.tar.gz qr-builder-257d5834801afe7d9ddffa81f78d6b7f8d08822a.tar.bz2 qr-builder-257d5834801afe7d9ddffa81f78d6b7f8d08822a.zip |
scaler, and __DATA__
also, better validation
Diffstat (limited to 'lib/GridFiller/Scaler.pm')
-rw-r--r-- | lib/GridFiller/Scaler.pm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/GridFiller/Scaler.pm b/lib/GridFiller/Scaler.pm new file mode 100644 index 0000000..21d11c9 --- /dev/null +++ b/lib/GridFiller/Scaler.pm @@ -0,0 +1,32 @@ +package GridFiller::Scaler; +use Moose; +use namespace::autoclean; +use GridFiller::Types qw(GridT); +use MooseX::Types::Moose qw(Int); +use Carp; +use MooseX::Params::Validate 'pos_validated_list'; + +sub scale { + shift; # class + my ($input_grid,$scale) = pos_validated_list( + \@_, + { isa => GridT }, + { isa => Int }, + ); + + my @output_grid; + + for my $row (@$input_grid) { + my @out_row; + + for my $cell (@$row) { + push @out_row, $cell for 1..$scale; + } + + push @output_grid,[@out_row] for 1..$scale; + } + + return \@output_grid; +} + +1; |