module ClassMattr
Public Class Methods
included(base)
click to toggle source
# File lib/lib/base.rb, line 2 def self.included base def base.mattr name=nil if name if name.is_a?(Array) for el in name self.define_singleton_method(el) do |*args| ::ClassMattr::Proxy.new(self).send(el, *args) end end else ::ClassMattr::Proxy.new(self)._get(name) end else ::ClassMattr::Proxy.new(self) end end def base.method_added name ::ClassMattr::Proxy.new(self)._set name super end def mattr name ::ClassMattr::Proxy.new(self.class)._get(name) end end
Public Instance Methods
mattr(name)
click to toggle source
# File lib/lib/base.rb, line 24 def mattr name ::ClassMattr::Proxy.new(self.class)._get(name) end