class Config::Configuration
The main configuration backbone
Public Class Methods
Source
# File lib/config/configuration.rb, line 7 def initialize(**attributes) attributes.each do |name, default| define_reader(name, default) define_writer(name) end end
Accepts configuration options, initializing a module that can be used to extend the necessary class with the provided config methods
Private Instance Methods
Source
# File lib/config/configuration.rb, line 16 def define_reader(name, default) variable = :"@#{name}" define_method(name) do if instance_variable_defined?(variable) instance_variable_get(variable) else default end end end
Source
# File lib/config/configuration.rb, line 28 def define_writer(name) variable = :"@#{name}" define_method("#{name}=") do |value| instance_variable_set(variable, value) end end