VERSION

0.010

Доброго всем

Mojolicious::Che

¡ ¡ ¡ ALL GLORY TO GLORIA ! ! !

NAME

Mojolicious::Che - Мой базовый модуль для приложений Mojolicious. Нужен только развернутый конфиг.

Важно

Пропатчен метод sub Mojolicious::Routes::is_hidden поэтому действия в маршрутах разрешены не только латиницей.

SYNOPSIS

use Mojo::Base::Che 'Mojolicious::Che';

sub startup {
  my $app = shift;
  $app->plugin(Config =>{file => 'Config.pm'});
  $app->поехали();
}
__PACKAGE__->new()->start();

Config file

Порядок строк в этом конфиге соответствует исполнению в модуле!

{
'Проект'=>'Тест-проект',
# mojo => {
  # defaults =>
  # secrets =>
  # mode=>
  # log_level =>
  # session =>
  # has =>
  # plugins=>
  # hooks =>
# },
# Default values for "stash" in Mojolicious::Controller, assigned for every new request.
mojo_defaults => {layout=>'default',},
# 'шифры' => [
mojo_secrets => ['true 123 my app',],
mojo_mode=> 'development',
mojo_log_level => 'debug',
# 'сессия' => 
mojo_session => {cookie_name => 'ELK'},

# 'хазы' => 'Лет 500-700 назад был такой дикий степной торговый жадный народ ХАЗАРЫ. Столицей их "государства" был город Тьмутаракань, где-то на берегу Каспия. Потомки этих людей рассыпаны по странам России, Средней Азии, Европы. Есть мнение, что хазары присвоили себе название ЕВРЕИ, но это не те библейские евреи.'
mojo_has => {
  foo => sub {my $app = shift; return 'bar!';},
},

# 'базы' => 
# will be as has!
dbh=>{
  'main' => {
    # DBI->connect(dsn, user, passwd, $attrs)
    connect => ["DBI:Pg:dbname=test;", "postgres", undef, {
      ShowErrorStatement => 1,
      AutoCommit => 1,
      RaiseError => 1,
      PrintError => 1, 
      pg_enable_utf8 => 1,
      #mysql_enable_utf8 => 1,
      #mysql_auto_reconnect=>1,
    }],
    # will do on connect
    do => ['set datestyle to "ISO, DMY";',],
    # prepared sth will be as has $app->sth->{<dbh name>}{<sth name>}
    sth => {
      foo => <<SQL,
select * 
from foo
where
  bar = ?;
SQL
    },
  }
},
# 'запросы' => 
# prepared sth will be as has $app->sth->{<dbh name>}{<sth name>}
sth => {
  main => {
    now => "select now();"
  },
},
# DBIx::POS::Sth
# will be as has $app->sth->{<dbh name>}{<POS module name>}->sth(<statement name>, ...)
pos => {
  main => [# hashref
    ['POS::Foo' => template => {var1=>1,}],
  ],
},
  
# 'плугины'=> [
mojo_plugins=>[ 
    [charset => { charset => 'UTF-8' }, ],
    #~ ['HeaderCondition'],
    #~ ['ParamsArray'],
],
# 'хуки' => 
mojo_hooks=>{
  #~ before_dispatch => sub {1;},
},
# 'спейсы' => 
namespaces => [],
# 'маршруты' => 
routes => [
  [get=>'/', to=> {cb=>sub{shift->render(format=>'txt', text=>'Hello!');},}],
]
};

METHODS

Mojolicious::Che inherits all methods from Mojolicious and implements the following new ones. All methods has nothing on input.

поехали()

Top-level method. Setup the defaults, secrets, mode, log level from app->config(). Then invoke all other metods in order below.

сессия()

Session

хазы()

Has

базы()

DBI handlers (dbh)

запросы()

DBI statements (sth)

плугины()

Plugins

хуки()

Hooks

спейсы()

Namespases

маршруты()

Routes

SEE ALSO

Mojolicious

Ado

AUTHOR

Михаил Че (Mikhail Che), <mche[-at-]cpan.org>

BUGS / CONTRIBUTING

Please report any bugs or feature requests at https://github.com/mche/Mojolicious-Che/issues. Pull requests also welcome.

COPYRIGHT

Copyright 2016 Mikhail Che.

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