palkan / anyway_config

Configuration library for Ruby gems and applications
MIT License
778 stars 52 forks source link

Setting default_config_path in an initializer doesn't work. #99

Closed anitagraham closed 2 years ago

anitagraham commented 2 years ago

What did you do?

I created an initializer

# config/initializers/anyway_config.rb
Rails.application.config.anyway_config do |config|
  config.default_config_path =  Rails.root.join("config", "settings")
end

What did you expect to happen?

I expected that my configuration files, in config/settings would be available to the application.

What actually happened?

Configuration values were empty.

Additional context

When I put a settings file into config/thing.yml the configured settings were available.

When I put the configuration line into config/application.rb the configured settings from config/settings were available.

# config/application.rb
config.anyway_config.default_config_path =  Rails.root.join("config", "settings")

Environment

Ruby Version: 2.7.5

Framework Version (Rails, whatever): 6.1.4.6

Anyway Config Version: 2.3.3

fargelus commented 2 years ago

@anitagraham hello! Anyway Config doesn't support initializing with block. For initializer file recommended to pass desired values through usual assignment:

# config/initializers/anyway_config.rb
Rails.application.config.anyway_config.default_config_path = Rails.root.join("config", "settings")
anitagraham commented 2 years ago

Thanks for your help, @fargelus , I think I have conquered it now.