Должен ли я использовать Mix.Utils в моем эликсирном коде?

Мне нужно получить файл по URL-адресу и сохранить его на локальном диске.

Я вижу, что Mix.Utils имеет:

copy_path!(source, target, opts \\ [])

Который, кажется, делает именно то, что я хочу, но Mix.Utils используется только для написания смешанных задач, а не для общего решения проблем?


person TheStoneFox    schedule 06.05.2015    source источник


Ответы (1)


Который, кажется, делает именно то, что я хочу, но Mix.Utils используется только для написания смешанных задач, а не для общего решения проблем?

Обычно да. Если вы хотите использовать его, вам нужно зависеть от приложения :mix в вашем файле mix.exs внутри функции def application.

person José Valim    schedule 06.05.2015
comment
Знаете ли вы какой-либо другой способ добиться того, чего я хочу, без использования Mix.Utils? - person TheStoneFox; 06.05.2015
comment
Нет, вы должны написать это сами. На самом деле это коротко, если вы используете правильный http-клиент. Код в Mix должен иметь дело с другими сложностями. - person José Valim; 06.05.2015
comment
Другой способ, которым вы могли бы это сделать, — раскошелиться и использовать curl или wgets, чтобы получить файл для вас. Но это можно было сделать на любом языке; ничего конкретного для Эликсира там нет. - person Onorio Catenacci; 06.05.2015
comment
@OnorioCatenacci, это был мой отход, чтобы просто использовать cURL :) хотя кажется немного грязным.. Является ли выполнение системных команд плохим в мире erlang/elixir? - person TheStoneFox; 06.05.2015
comment
Я могу взглянуть на код функции Mix.Utils и посмотреть, смогу ли я извлечь его и использовать то, что мне нужно. - person TheStoneFox; 06.05.2015
comment
Плохо? Я инженер-программист; Я не занимаюсь плохим и хорошим :) Я просто занимаюсь более-менее подходящим. Если вам подходит готовая команда, зачем заново изобретать работающий код? С другой стороны, использование предварительно созданной команды оставляет вас на милость сопровождающего инструмента, системного администратора и т. д. и т. д. - person Onorio Catenacci; 06.05.2015