Include a Module Based on Rails Environment
Dusty Candland |
|
rails, ruby
Not sure if this is the best way to do things. But I want to include modules into a class based on the rails environment.
First I used the rails config store, Configurator.
module MyApp
class Application < Rails::Application
# ...
config.provider = :NullProvider
end
end
The above config can be overridden in the environment config file. NullProvider, would just be a noop implementation.
Now, using this is a combo using send, accessing the config value, and getting the class from the symbol.
class MyClass
MyClass.__send__(:include, Kernel.const_get(::MyApp::Application.config.provider))
end
Put that where ever you’re include would normally go.
Would love to know if this is something crazy or a good way to do things.
References
Webmentions
These are webmentions via the IndieWeb and webmention.io. Mention this post from your site: