diff options
Diffstat (limited to 'activesupport/lib/module_attribute_accessors.rb')
-rw-r--r-- | activesupport/lib/module_attribute_accessors.rb | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/activesupport/lib/module_attribute_accessors.rb b/activesupport/lib/module_attribute_accessors.rb deleted file mode 100644 index 3d466e4493..0000000000 --- a/activesupport/lib/module_attribute_accessors.rb +++ /dev/null @@ -1,57 +0,0 @@ -# Extends the module object with module and instance accessors for class attributes, -# just like the native attr* accessors for instance attributes. -class Module # :nodoc: - def mattr_reader(*syms) - syms.each do |sym| - class_eval <<-EOS - if ! defined? @@#{sym.id2name} - @@#{sym.id2name} = nil - end - - def self.#{sym.id2name} - @@#{sym} - end - - def #{sym.id2name} - @@#{sym} - end - - def call_#{sym.id2name} - case @@#{sym.id2name} - when Symbol then send(@@#{sym}) - when Proc then @@#{sym}.call(self) - when String then @@#{sym} - else nil - end - end - EOS - end - end - - def mattr_writer(*syms) - syms.each do |sym| - class_eval <<-EOS - if ! defined? @@#{sym.id2name} - @@#{sym.id2name} = nil - end - - def self.#{sym.id2name}=(obj) - @@#{sym.id2name} = obj - end - - def self.set_#{sym.id2name}(obj) - @@#{sym.id2name} = obj - end - - def #{sym.id2name}=(obj) - @@#{sym} = obj - end - EOS - end - end - - def mattr_accessor(*syms) - mattr_reader(*syms) - mattr_writer(*syms) - end -end
\ No newline at end of file |