------art_14040_8860346.1219831131793
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

> Is there a way to define a class level variable that descends down the
> inheritance tree unless it is overridden in the same way as this is
> possible for methods? I mean I could wrap the data structure in a
> method but that does not seem like a very clean solution.



Try this, perhaps:



class DataObject
  class << self
    attr_writer :mapping

    def mapping
      @mapping || (self DataObject ? nil : superclass.mapping)
    end
  end
end

class Page < DataObject; end

DataObject.mapping  foo'

puts Page.mapping #'foo'



You could write a class helper to generate these methods. I think Rails has
something called 'write_inheritable_attribute' somewhere that does the same
thing.

------art_14040_8860346.1219831131793--