Methods
Instance Public methods
# File activesupport/lib/active_support/configurable.rb, line 29 def config @_config ||= if respond_to?(:superclass) && superclass.respond_to?(:config) superclass.config.inheritable_copy else # create a new "anonymous" class that will host the compiled reader methods Class.new(Configuration).new end 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 activesupport/lib/active_support/configurable.rb, line 54 def config_accessor(*names) options = names.extract_options! names.each do |name| reader, line = "def #{name}; config.#{name}; end", __LINE__ writer, line = "def #{name}=(value); config.#{name} = value; end", __LINE__ singleton_class.class_eval reader, __FILE__, line singleton_class.class_eval writer, __FILE__, line class_eval reader, __FILE__, line unless options[:instance_reader] == false class_eval writer, __FILE__, line unless options[:instance_writer] == false end end