Catalyst утилиты
Методы
appprefix($class)
MyApp::Foo станет myapp_foo
MyApp::Controller::Foo::Bar станет MyApp
My::App::Controller::Foo::Bar станет My::App
My::App::Controller::Foo::Bar станет My::App
MyApp::Controller::Foo::Bar станет MyApp::Controller
My::App::Controller::Foo::Bar станет My::App::Controller
My::App::Controller::Foo::Bar станет My::App::Controller
MyApp::Controller::Foo::Bar станет Controller::Foo::Bar
Возвращает имя окружения для класса.
MyApp станет MYAPP
My::App станет MY_APP
My::App станет MY_APP
Возвращает uri префикс для класса.
My::App::Controller::Foo::Bar becomes foo/bar
Возвращает временную папку для класса. Если он создан нормально то попытаеться создать путь.
My::App becomes /tmp/my/app
My::App::Controller::Foo::Bar becomes /tmp/my/app/c/foo/bar
home($class)
Возвращает домашнюю папку для заданного класса.
dist_indicator_file_list
Возвращает список файлов которые могут быть протестированы дабы проверить если вы внутри CPAN дистрибутива которые еще не установлен.
Это: Makefile.PL, Build.PL, dist.ini
prefix($class, $name);
MyApp::Controller::Foo::Bar, yada станет foo/bar/yada
request($uri)
Возвращает HTTP::Request объект для uri.
ensure_class_loaded($class_name, \%opts)
Загружает класс если он еще не был загружен.
Если $opts{ignore_loaded} верна всегда пытается затребовать существует ли уже пакет или нет.
merge_hashes($hashref, $hashref)
Соединяет хеши с приоритетом того хеша, который расположен справа.
env_value($class, $key)
Проверяет и возвращает переменную окружения. Например, если $key 'home' то метод проверит и найдет 1е найденное значение в $ENV{MYAPP_HOME} и $ENV{CATALYST_HOME}
term_width
Пытается установить ширину терминала для отображаемого форматирования отладки.
Все что вам нужно для этого:
1) Установить Term::Size::Any или
2) Экспортировать $COLUMNS из вашего шелла.
По умолчанию будет использовано значение в 80 символов.
resolve_namespace
Метод, который добавляет пространство имен для плагинов и действий.
__PACKAGE__->setup(qw(MyPlugin)); # загрузит Catalyst::Plugin::MyPlugin