Simple class’s variable accessor

Jul 19
2008
class Class
  def attr(arg)
    arg = arg.to_s
    if self.class_variables.include?(arg)
      class_eval %(def self.#{arg.sub(/^\@\@/, '')}; #{arg}; end)
    else
      raise ArgumentError, "No such class attribute", caller
    end
  end
end
 
class Test
  @@class_var = "class variable value"
 
  attr :@@class_var
end
 
puts Test.class_var => "class variable value"

Comments are closed.

Calendar

July 2008
M T W T F S S
« Jun   Aug »
 123456
78910111213
14151617181920
21222324252627
28293031  

Tags