Hi --
I'm having a problem of design. I've tried a few configurations of class
collaboration and responsibility, but they all end up feeling messy.
I'm looking at these (either or, my original attempt was with a module,
but attr_accessor *looks* like it does what I want):
class C < Translator::Base
translate 'this', :to => 'that'
end
class C
include Translator
translate 'this', :to => 'that'
end
With the expectation that...
c = C.new
c.translations
Would yield a hash of the from and to values.
I have no idea how to break the barrier between class and instance. 
I'd say: don't think of it as any more of a barrier than exists
between any other two objects. Every object, including a class object,
has the right to maintain state, and to decide what it will and will
not expose. There's no privileged relationship between c and i just
because i is an instance of c.
(I know that sounds kind of doctrinaire, but I like to lay it on thick
since it usually takes some doing to chip away at the presumptive
class/instance special relationship 
As Ken suggested, class variables break through the class/instance
boundaries. That's one of the reasons I don't like them
You can
certainly do it that way; I'll also show you another possibility,
based on engineering all the objects concerned so that they query each
other where necessary:
module Translator
attr_reader :translations
def translate(target, actions)
@translations ||= []
@translations.push("Translating #{target} to #{actions[:to]}")
end
end
class C
extend Translator
def translations
self.class.translations
end
translate "this", :to => "that"
end
p C.new.translations # ["Translating this to that"]
David
···
On Fri, 2 May 2008, Daniel Waite wrote:
--
Rails training from David A. Black and Ruby Power and Light:
INTRO TO RAILS June 9-12 Berlin
ADVANCING WITH RAILS June 16-19 Berlin
INTRO TO RAILS June 24-27 London (Skills Matter)
See http://www.rubypal.com for details and updates!