Size: a a a

2019 March 09

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Из Elixir-а и нужно вот это сообщение ждать: {port, {:exit_status, _}}
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
:nouse_stdio - та опция, что тебе нужна.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Да, работает
источник

jc

john conor  in pro.elixir
Dmitry Russ (Aleksandrov)
Мне кажется нужно посмотреть в src код ruby и посмотреть, как они это делают.
Тоже та думаю
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Короче говоря, все оказалось достаточно просто
https://github.com/aquapm/aqua/commit/a4c43bfb9c91c83c33dca3dfaec9efbac16146d3#diff-240365542b36c4187c72ecb03d9af662R16

Можно даже статеечку написать, но мне чет лень)
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Прекрасный случай сделать refactoring мультивложенных case-ов на функции или даже with (Такой бы код при моём ревью не попал бы в мастер 😃)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
При моем тоже. Хорошо что мне нету времени этим заниматься)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но with тут не прокатит - надо дробить на функции
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
    editor = System.get_env("EDITOR") || ""
   case String.split(editor) do
     [] ->
       View.panic(:editor_not_defined)
     [editor | args] ->
       case System.cmd("which", [editor]) do
         ...
         {editor_path} ->
           launch_editor(...)
       end
   end
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Можно примерно вот так, убрать 2 case-а в один поставив дефолтное значение editor-у и работу с editor-ом вынести в одну функцию.
источник

PS

Petr Stepchenko in pro.elixir
Проще чем рельсовая реализация
источник

PS

Petr Stepchenko in pro.elixir
Но возможно там они специально временный фаил редактируют
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Petr Stepchenko
Но возможно там они специально временный фаил редактируют
Естественно. Он же зашифрован.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А тут - нет)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Там типа они распаковывают ключом, пишут в tmp file, открывают его, ждут пока ты отредактируешь, и потом читают из него и шифруют назад. И наверное удаляют его ещё.
источник

PS

Petr Stepchenko in pro.elixir
аа, да, все так
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если вдруг кто-то еще хочет поконтрибьютить в aqua - я предлагаю изи вариант - сделать какой нибудь шаблон
источник
2019 March 10

YK

Yura Khomitskyi in pro.elixir
Подскажите плиз, как правильно стартануть супервайзера, а точнее как правильно задать children если я использую подход API->Server->Impl?
defmodule Stack do
 # API
 @server Stack.Server

 def start_link(stack_initial) do
   GenServer.start_link(@server, stack_initial, name: @server)
 end
….
end

defmodule Stack.Application do
 use Application

 def start(_type, _args) do
   # List all child processes to be supervised
   children = [
     { Stack, [1, 2, 3]}
   ]
   opts = [strategy: :one_for_one, name: Stack.Supervisor]
   Supervisor.start_link(children, opts)
 end
end
источник

YK

Yura Khomitskyi in pro.elixir
в children в таком случае нужно задавать модуль API (Stack) или сервера (Stack.Server)?
источник

к

кана in pro.elixir
в чилдрене ты указываешь модуль, в котором будет искаться start_link, то есть как сейчас

имя ты уже сам устанавливаешь в start_link как Stack.Server
источник