# module ActiveSupport::Configurable::ClassMethods

### Public Instance Methods

config() click to toggle source

    # File 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) click to toggle source

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 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() { |config| ... } click to toggle source

    # File lib/active_support/configurable.rb, line 38
    def configure
      yield config
    end