Provided by: libapp-cell-perl_0.219-3_all bug

NAME

       App::CELL::Message - handle messages the user might see

SYNOPSIS

           use App::CELL::Message;

           # server messages: pass message code only, message text
           # will be localized to the site default language, if
           # assertainable, or, failing that, in English
           my $message = App::CELL::Message->new( code => 'FOOBAR' )
           # and then we pass $message as an argument to
           # App::CELL::Status->new

           # client messages: pass message code and session id,
           # message text will be localized according to the user's language
           # preference setting
           my $message = App::CELL::Message->new( code => 'BARBAZ',
                                                 session => $s_obj );
           $msg_to_display = $message->App::CELL::Message->text;

           # a message may call for one or more arguments. If so,
           # include an 'args' hash element in the call to 'new':
           args => [ 'FOO', 'BAR' ]
           # they will be included in the message text via a call to
           # sprintf

EXPORTS AND PUBLIC METHODS

       This module provides the following public functions and methods:

       "new" - construct a "App::CELL::Message" object
       "text" - get text of an existing object
       "max_size" - get maximum size of a given message code

DESCRIPTION

       An App::CELL::Message object is a reference to a hash containing some or all of the
       following keys (attributes):

       "code" - message code (see below)
       "text" - message text
       "error" - error (if any) related to this message
       "language" - message language (e.g., English)
       "max_size" - maximum number of characters this message is guaranteed not to exceed (and
       will be truncated to fit into)
       "truncated" - boolean value: text has been truncated or not

       The information in the hash is sourced from two places: the $mesg hashref in this module
       (see "CONSTANTS") and the SQL database. The former is reserved for "system critical"
       messages, while the latter contains messages that users will come into contact with on a
       daily basis. System messages are English-only; only user messages are localizable.

PACKAGE VARIABLES

   $mesg
       The "App::CELL::Message" module stores messages in a package variable, $mesg (which is a
       hashref).

   @supp_lang
       List of supported languages. Set by "$CELL->load" from the value of CELL_SUPP_LANG

   $def_lang
       The defined, or default, language. Set by "$CELL->load" from the value of CELL_DEF_LANG

FUNCTIONS AND METHODS

   supported_languages
       Get reference to list of supported languages.

   language_supported
       Determine if a given language is supported.

   default_language
       Return the default language.

   new
       Construct a message object. Takes a PARAMHASH containing, at least, a 'code' attribute as
       well as, optionally, other attributes such as 'args' (a reference to an array of
       arguments). Returns a status object. If the status is ok, then the message object will be
       in the payload. See "SYNOPSIS".

   lang
       Clones the message into another language. Returns a status object. On success, the new
       message object will be in the payload.

   stringify
       Generate a string representation of a message object using Data::Dumper.

   code
       Accessor method for the 'code' attribute.

   args
       Accessor method for the 'args' attribute.

   text
       Accessor method for the 'text' attribute. Returns content of 'text' attribute, or
       "<NO_TEXT>" if it can't find any content.