Peter Flanigan > CatalystX-Usul > CatalystX::Usul::Encoding

Download:
catalystx-usul/CatalystX-Usul-0.7.1184.tar.gz

Dependencies

Annotate this POD

Website

CPAN RT

Open  0
View/Report Bugs
Module Version: v0.7.1181   Source  

Name ^

CatalystX::Usul::Encoding - Create additional methods for different encodings

Version ^

$Revision: 1181 $

Synopsis ^

   use parent qw(CatalystX::Usul::Encoding);

   __PACKAGE__->mk_encoding_methods( qw(get_req_array get_req_value) );

   sub get_req_array {
      my ($self, $req, $field) = @_; my $value = $req->params->{ $field };

      $value = defined $value ? $value : [];

      return (is_arrayref $value) ? $value : [ $value ];
   }

   sub get_req_value {
      my ($self, $req, $field) = @_; my $value = $req->params->{ $field };

      return (is_arrayref $value) ? $value->[ 0 ] : $value;
   }

   # The standard calls are
   $array = $self->get_req_array( $c->req, $field );
   $value = $self->get_req_value( $c->req, $field );

   # but now we can call these methods also
   $array = $self->get_req_array_ascii_encoding(      $c->req, $field );
   $array = $self->get_req_array_iso_8859_1_encoding( $c->req, $field );
   $array = $self->get_req_array_utf_8_encoding(      $c->req, $field );
   $array = $self->get_req_array_guess_encoding(      $c->req, $field );
   $value = $self->get_req_value_ascii_encoding(      $c->req, $field );
   $value = $self->get_req_value_iso_8859_1_encoding( $c->req, $field );
   $value = $self->get_req_value_utf_8_encoding(      $c->req, $field );
   $value = $self->get_req_value_guess_encoding(      $c->req, $field );

Description ^

For each input method defined in your class "mk_encoding_methods" defines additional methods; my_input_method_utf_8_encoding and my_input_method_guess_encoding for example

Subroutines/Methods ^

mk_encoding_methods

Takes a list of method names in the calling package. For each of these a set of new methods are defined in the calling package. The method set is defined by the list of values in the $ENCODINGS package variable. Each of these newly defined methods calls _decode_data with a different encoding name

_decode_data

Decodes the data passed using the given encoding name. Can handle both scalars and array refs but not hashes

_guess_encoding

If you really don't know what the source encoding is then this method will use Encode::Guess to determine the encoding. If successful calls _decode_data to get the job done

_method_name

Takes an encoding name and converts it to a private method name

Diagnostics ^

None

Configuration and Environment ^

None

Dependencies ^

Encode
Encode::Guess

Incompatibilities ^

There are no known incompatibilities in this module

Bugs and Limitations ^

There are no known bugs in this module. Please report problems to the address below. Patches are welcome

Author ^

Peter Flanigan, <Support at RoxSoft.co.uk>

License and Copyright ^

Copyright (c) 2011 Peter Flanigan. All rights reserved

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

syntax highlighting: