Catalyst::Utils

Catalyst утилиты


Методы

 

appprefix($class)
MyApp::Foo станет myapp_foo

class2appclass($class);
MyApp::Controller::Foo::Bar станет MyApp
My::App::Controller::Foo::Bar станет My::App

class2classprefix($class);
MyApp::Controller::Foo::Bar станет MyApp::Controller
My::App::Controller::Foo::Bar станет My::App::Controller

class2classsuffix($class);
MyApp::Controller::Foo::Bar станет Controller::Foo::Bar

class2env($class);
Возвращает имя окружения для класса.
MyApp станет MYAPP
My::App станет MY_APP

class2prefix( $class, $case );
Возвращает uri префикс для класса.
My::App::Controller::Foo::Bar becomes foo/bar

class2tempdir( $class [, $create ] ); 
Возвращает временную папку для класса. Если он создан нормально то попытаеться создать путь.
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