Size: a a a

Эликсир и Вунш

2019 November 22

МК

Максим Кузьмин in Эликсир и Вунш
и делегировать тому модулю, в котором юзается
источник

МК

Максим Кузьмин in Эликсир и Вунш
но это выглядит сильно лучше, спасибо
источник

МК

Максим Кузьмин in Эликсир и Вунш
удивительно тут конечно логика композируется после ООП =__=
источник

AD

Anastasiya Dyachenko in Эликсир и Вунш
почему общий модуль нельзя вызывать по названию?
источник

МК

Максим Кузьмин in Эликсир и Вунш
Anastasiya Dyachenko
почему общий модуль нельзя вызывать по названию?
мне кажется это не совсем мой случай
источник

МК

Максим Кузьмин in Эликсир и Вунш
но я может чего не знаю
источник

AD

Anastasiya Dyachenko in Эликсир и Вунш
я не понимаю проблемы, import - вызывать функции по названию без указания модуля, какая с этим проблема то
источник

AD

Anastasiya Dyachenko in Эликсир и Вунш
то же самое абсолютно что и вызывать с названием
источник

МК

Максим Кузьмин in Эликсир и Вунш
есть набор либ которые однообразно будут зваться и делать одно и плюс-минус одинаковые вещи - Lib1.call(config1), Lib2.call(config2), и тп
источник

МК

Максим Кузьмин in Эликсир и Вунш
у каждой из них call это  LibGeneral.call на самом деле
источник

МК

Максим Кузьмин in Эликсир и Вунш
потому что оно делает одно и тоже
источник

МК

Максим Кузьмин in Эликсир и Вунш
просто у каждый либы свои коллбеки разные
источник

МК

Максим Кузьмин in Эликсир и Вунш
мне надо сделать действие а, скормить его результат методу б и потом конвертнуть с помощью метода в
источник

AD

Anastasiya Dyachenko in Эликсир и Вунш
окей, а какую либу вызвать зависит от окружения или что?
источник

МК

Максим Кузьмин in Эликсир и Вунш
Anastasiya Dyachenko
окей, а какую либу вызвать зависит от окружения или что?
от вышестоящего кода (объекта конфига, в частности)
источник

AD

Anastasiya Dyachenko in Эликсир и Вунш
defmodule Lib do
 def get_adapter, do: Application.get_env(:my_app, :lib)
 defdelegate fun1, to: get_adapter()
 defdelegate fun2, to: get_adapter()
end

defmodule Adaper1 do
 def fun1, do: ...
 def fun2, do: ...
end

config :my_app, lib: Adapter1

Lib.fun1()
источник

AD

Anastasiya Dyachenko in Эликсир и Вунш
ну и behaviour туда
источник

МК

Максим Кузьмин in Эликсир и Вунш
эмм, а если мне надо сотню либ разных разом стартануть?
источник

МК

Максим Кузьмин in Эликсир и Вунш
под каждую app_config делать?
источник

МК

Максим Кузьмин in Эликсир и Вунш
в отдельных процессах ре-конфигурировать типа?
источник