Methods
C
Instance Public methods
config()
# 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
config_accessor(*names)

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
configure()
# File activesupport/lib/active_support/configurable.rb, line 38
def configure
  yield config
end