Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: v3.0.0
Fetching contributors…

Cannot retrieve contributors at this time

36 lines (30 sloc) 0.952 kb
require 'active_support/concern'
require 'active_support/ordered_options'
require 'active_support/core_ext/kernel/singleton_class'
require 'active_support/core_ext/module/delegation'
module ActiveSupport
module Configurable
extend ActiveSupport::Concern
module ClassMethods
def config
@_config ||= ActiveSupport::InheritableOptions.new(superclass.respond_to?(:config) ? superclass.config : {})
end
def configure
yield config
end
def config_accessor(*names)
names.each do |name|
code, line = <<-RUBY, __LINE__ + 1
def #{name}; config.#{name}; end
def #{name}=(value); config.#{name} = value; end
RUBY
singleton_class.class_eval code, __FILE__, line
class_eval code, __FILE__, line
end
end
end
def config
@_config ||= ActiveSupport::InheritableOptions.new(self.class.config)
end
end
end
Jump to Line
Something went wrong with that request. Please try again.