Size: a a a

Saint P Ruby Community

2020 November 05

w

wi11son in Saint P Ruby Community
А это твой гем?
источник

АШ

Алексей Шеин... in Saint P Ruby Community
а почему нужно менять значения при релоаде?
источник

АШ

Алексей Шеин... in Saint P Ruby Community
ключи меняются после редактирования файлов?
источник

AG

Alexander G in Saint P Ruby Community
wi11son
А это твой гем?
нет, не гем. просто класс
источник

AG

Alexander G in Saint P Ruby Community
Алексей Шеин
а почему нужно менять значения при релоаде?
потому что значения в dry-configurable хранятся так, что они теряются при релоаде
источник

АШ

Алексей Шеин... in Saint P Ruby Community
ну может это баг тогда?
источник

AG

Alexander G in Saint P Ruby Community
Алексей Шеин
ну может это баг тогда?
если и так, то баг в самом подходе.
https://github.com/dry-rb/dry-rails/blob/master/lib/dry/rails/railtie.rb#L13-L15
источник

IT

Ivan Takarlikov in Saint P Ruby Community
wi11son
зато у тебя маркус за 11к
а мне арендатель квартиры за него плотить
источник

AG

Alexander G in Saint P Ruby Community
ну, т.е. во всех остальных случаях это работает (shotgun, например), а с релоадом рельсовым нет

Тут сталкиваются 2 разные идеологии что-ли. Как аргументировать это мейнтейнерам, я не знаю пока
источник

АШ

Алексей Шеин... in Saint P Ruby Community
я, к сожалению, совсем не работал с этим гемом, но судя по коду это было сделано нарочно.
источник

АШ

Алексей Шеин... in Saint P Ruby Community
Может мейнтейнеры объяснят что делать в этом случае?
источник

AG

Alexander G in Saint P Ruby Community
ну вот  - config.to_prepare :)
источник

AG

Alexander G in Saint P Ruby Community
вообще говоря, возможно я не замечал проблемы, потому что остальные блоки с конфигурацией вызываются на гемах, которые не релоадятся
источник

AG

Alexander G in Saint P Ruby Community
вполне вероятно, что если их попробовать выгрузить/загрузить, то и они потеряют свой стейт
источник

AG

Alexander G in Saint P Ruby Community
интересно было поговорить с кем-то, кто еще использует dry-configurable c рельсой
источник

A

Anton in Saint P Ruby Community
Ivan Takarlikov
а мне арендатель квартиры за него плотить
а что такое маркус?
источник

f🤔

focusshifter 🤔 in Saint P Ruby Community
Anton
а что такое маркус?
популярное икеевское кресло
источник

P

Paul in Saint P Ruby Community
кресло
источник

AG

Alexander G in Saint P Ruby Community
Alexander G
ну вот  - config.to_prepare :)
другой способ - использовать ленивую установку значений, через лямбды

AmplitudeClient.configure do |config|
 config.api_key = -> { ENV['AMPLITUDE_API_KEY'] }
 config.secret_key = -> { ENV['AMPLITUDE_SECRET_KEY'] }
 config.test_mode = -> { Rails.env.test? }
end
источник

👾

👾 in Saint P Ruby Community
Alexander G
другой способ - использовать ленивую установку значений, через лямбды

AmplitudeClient.configure do |config|
 config.api_key = -> { ENV['AMPLITUDE_API_KEY'] }
 config.secret_key = -> { ENV['AMPLITUDE_SECRET_KEY'] }
 config.test_mode = -> { Rails.env.test? }
end
тогда тоже непонятно, почему во всех intializers значения сразу берутся, а тут через лямбду

хотя информативный комментарий решает эту проблему в обоих случаях
источник