These are chat archives for synrc/n2o

11th
Dec 2015
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 03:26
А что, shen уже тю-тю?
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 03:49
@m-2k посмотри, пожалуйста, еще раз. Ты это предлагал?
Andy
@m-2k
Dec 11 2015 06:55
ага :smile:
я бы еще view на render заменил для страниц и контейнер добавил внутрь чтобы делать wf:update(view, View:render(content) }).
Andy
@m-2k
Dec 11 2015 07:02
для таких простых статичных контейнеров у меня вообще обертка update(E) -> wf:update(E, ?MODULE:render(E)).
и я просто пишу update(sidebar) например внутри модуля-страницы
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 07:36
Спасибо, посмотрю. Еще вопрос по shen. Его не забросили? А то как-то не очень удобно, по-моему, в wf:wire строку передавать
И обязательно ли event(X) должны находиться в index, если только он с браузером общается?
Нельзя перенаправить в другой модуль без такого:
```erlang
event(X) ->
event(X) -> module:foo(X).
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 07:41
Событий мало, но все равно не хочу захламлять
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 08:13
Хотя, с другой стороны, удобно, когда все в одном файле
Andy
@m-2k
Dec 11 2015 08:42
более того рекомендую написать прокси для ивентов, транслируемых к "вьюхам"
но возможно тебе и не пригодится
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 08:45

То есть?

event({Module, Function}) -> Module:Function().

Или о чем ты?

Andy
@m-2k
Dec 11 2015 08:57
у меня в index примерно так event(#event{render=R}=E) -> R:event(E);
изначально R я брал из стейта в котором хранился текущий рендер-вьюха, но потом пришлось расширить гибкость
Ilya Gorskin
@Revent
Dec 11 2015 09:35
как то странно получается
=INFO REPORT==== 11-Dec-2015::14:34:35 ===
       application: nets
       exited: shutdown
       type: temporary
       Apps couldn't be loaded: [ssl,public_key,asn1]
это если добавить epgsql, без него хорошо все
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 09:48
@Revent а я как раз хотел его использовать
Ilya Gorskin
@Revent
Dec 11 2015 09:48
ну у меня просто есть еще потребители ssl :) возможно из-за них :)
Ilya Gorskin
@Revent
Dec 11 2015 10:11
при этом не загружен только ssl остальные загружены.
видимо какой то косяк в маде
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 10:27
Такая же штука: Apps couldn't be loaded: [ssl]
С консоли запускается
Ilya Gorskin
@Revent
Dec 11 2015 10:51
ждем макса
@kagami-ryuuji shen работает. с ним какие-то проблемы?
@Revent а стартануть ssl, public_key и asn1 не?
Try rm .applist; ./mad pla rep
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 11:53
Пример, который в комплекте идет, не компилится. {undef_parse_transform, shen}
Andy
@m-2k
Dec 11 2015 11:53
@Revent чини свой проект и бери слова про мад обратно! :smile:
@kagami-ryuuji ну разберись сам чо, я вот файл вижу https://github.com/synrc/shen/blob/master/src/shen.erl
хз почему у тебя undef
Ilya Gorskin
@Revent
Dec 11 2015 11:59
@m-2k не помогло :)
Andy
@m-2k
Dec 11 2015 12:00
application:start(ssl)
Ilya Gorskin
@Revent
Dec 11 2015 12:00
работает :)
Andy
@m-2k
Dec 11 2015 12:00
и .applist с rebar.config в студию
ну работает и хорошо
Ilya Gorskin
@Revent
Dec 11 2015 12:00
плохо
Andy
@m-2k
Dec 11 2015 12:01
у меня ssl и прочие нормально подтягивались
подумай ищо
Ilya Gorskin
@Revent
Dec 11 2015 12:02
когда нет epgsql то все хорошо
чуть только она появляется сразу ошибка
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 12:02
@Revent напиши свой драйвер
Andy
@m-2k
Dec 11 2015 12:02
а можно без "чуть только" "появляется" и "работает"?
Ilya Gorskin
@Revent
Dec 11 2015 12:02
[public_key,kernel,stdlib,fs,ranch,crypto,compiler,syntax_tools,mnesia,inets,gproc,kvs,cowlib,ssl,cowboy,n2o,nets,active,epgsql,eredis,erlydtl,forms,jsone,jsx,kjell,mad,nitro,poolboy,sh]
Andy
@m-2k
Dec 11 2015 12:03
без этих коней в вакууме
Ilya Gorskin
@Revent
Dec 11 2015 12:03
попробуй сам
Andy
@m-2k
Dec 11 2015 12:03
ну и? SSL есть
какие вопросы к mad?
Ilya Gorskin
@Revent
Dec 11 2015 12:03
{sub_dirs,["apps"]}.
{lib_dirs,["apps","deps"]}.
{deps_dir,"deps"}.
{deps, [
    {erlydtl,".*", {git, "git://github.com/evanmiller/erlydtl", {tag, "0.8.0"}  }},
    {mad,    ".*", {git, "git://github.com/synrc/mad",          {tag, "master"} }},
    {fs,     ".*", {git, "git://github.com/synrc/fs",           {tag, "0.8"  }  }},
    {sh,     ".*", {git, "git://github.com/synrc/sh",           {tag, "0.8"  }  }},
    {active, ".*", {git, "git://github.com/synrc/active",       {tag, "master"} }},
    {kjell,  ".*", {git, "git://github.com/karlll/kjell",       {tag, "master"} }},
    {nitro,  ".*", {git, "git://github.com/synrc/nitro",        {tag, "master"} }},
      {n2o,    ".*", {git, "git://github.com/synrc/n2o",          {tag, "master"}    }},
    {kvs,    ".*", {git, "git://github.com/synrc/kvs",          {tag, "2.9"      }    }},
    {forms,  ".*", {git, "git://github.com/spawnproc/forms",    {tag, "master"} }},
    {eredis, ".*", {git, "git://github.com/wooga/eredis",       {tag, "v1.0.8"} }},
        {epgsql, ".*", {git, "git://github.com/wg/epgsql",          {tag, "master"} }}

]}.
{shell_driver,start_kjell}.
{fetch_speed,fast_master}.
{verbose,1}.
asn1 видишь?
Andy
@m-2k
Dec 11 2015 12:04
как он прописан в epgsql
Ilya Gorskin
@Revent
Dec 11 2015 12:06
кто?
Andy
@m-2k
Dec 11 2015 12:08
./mad cle
./mad com pla rep
> application:start(epgsql).
Ilya Gorskin
@Revent
Dec 11 2015 12:11
{error,{not_started,ssl}}
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 12:15
Выяснил, в чем дело. sample.erl компилировался раньше, чем shen.erl, поэтому о трансформе mad еще не знал. У ребара так же, по нему и нашел. Переименовал в swan и заработало
Andy
@m-2k
Dec 11 2015 12:25
лол
пиши о успехах shen, мне интересно
@Revent ну чо там далее, на чем заткнется
Andy
@m-2k
Dec 11 2015 12:32
ну и ты мазохист что ли?
wg/epgsql Latest commit on 13 Mar 2012
epgsql/epgsql Latest commit on 30 Oct 2015
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 12:34
Значит, я не то же самое собирался использовать
epgsql/epgsql первый в гугле
Andy
@m-2k
Dec 11 2015 12:37
ну я и написал после того как загуглил
возможно у @Revent какой-то криповый поисковик :smile:
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 13:09
Можно как-то извлекать параметры из URL?
route(<<":name">>)
Ilya Gorskin
@Revent
Dec 11 2015 13:10
@m-2k с обоими то же самое :)
Andy
@m-2k
Dec 11 2015 13:18
@kagami-ryuuji ну ты ж роутинг объявляешь ковбоевский
по-ковбоевски и вынимай
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 13:19
Это я догадался. Я не понимаю, откуда Req взять для binding
тут есть всё что нужно
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 13:21
This message was deleted
А, все спасибо
заюзал #cx.path чтобы передавать тапл в приложение
потом он собстна юзается во вьюхах https://github.com/5HT/erlach/blob/master/apps/erlach/src/board.erl#L38
но эта версия не СПА, так что там мало что можно почерпнуть
для ирли адоптеров )
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 13:28
А ларчик просто открывался

-include_lib("n2o/include/wf.hrl").
  Req = ?REQ,
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 13:45
Это мне нужно, чтобы определить, по какому именно урл зашел пользователь
Andy
@m-2k
Dec 11 2015 14:21
урл парсится ковбоем на части
перечитай routes:init/2 который я выше кидал
{"/[:q1/[:q2/[:q3]]]", n2o_cowboy, []}
{"/[:tag/[:comic/[:section]]]", n2o_cowboy, []} например
потом {Q1,_}=cowboy_req:binding(tag,Req), и всё
Ryuuji Kagami
@kagami-ryuuji
Dec 11 2015 14:26
Просто не мог понять, где берется Req. Теперь все в порядке