sourCEntral - mobile manpages

pdf

App::CELL::Message

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.

pdf