# File lib/active_support/configurable.rb, line 11 def config @_config ||= ActiveSupport::InheritableOptions.new(superclass.respond_to?(:config) ? superclass.config : {}) end
Allows you to add shortcut so that you don’t have to refer to attribute through config. Also look at the example for config to contrast.
class User include ActiveSupport::Configurable config_accessor :allowed_access end user = User.new user.allowed_access = true user.allowed_access # => true
# File lib/active_support/configurable.rb, line 31 def config_accessor(*names) names.each do |name| code, line = " def #{name}; config.#{name}; end def #{name}=(value); config.#{name} = value; end ", __LINE__ + 1 singleton_class.class_eval code, __FILE__, line class_eval code, __FILE__, line end end
# File lib/active_support/configurable.rb, line 15 def configure yield config end