J2M wrote:
> I would like to be able to be able to include instance methods of a
> Struct into a class. e.g.
>
> foo = Struct.new(:attribute, :another_attribute)
> bar = foo.new
>
> class Bas
>
> some_ruby_magic
>
> end
>
> So that I can then do
>
> Bas.attribute="a value"
> Bas.attribute
> Kind of like doing module_functions but that doesn't work inside a
> class.
Foo = Struct.new(:attribute, :another_attribute)
class Bas
extend Foo.to_module
end
Ha! Only if it were so easy!

Actaully if one had access to Ruby's
source it would rather trivial (hint). In anycase to par down Ara's
solution to it's core:
Foo = Struct.new :attribute, :another_attribute
class Bas
class << self
attr_accessor *Foo.members
end
end
Note the use of the constant which eases access by avoiding
(class<<self;self;end).class_eval.
T.