module ActiveSupport::Configurable::ClassMethods

Public Instance Methods

config() click to toggle source
# File lib/active_support/configurable.rb, line 11
def config
  @_config ||= ActiveSupport::InheritableOptions.new(superclass.respond_to?(:config) ? superclass.config : {})
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 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
configure() { |config| ... } click to toggle source
# File lib/active_support/configurable.rb, line 15
def configure
  yield config
end