okay, this works:
Dog = Struct.new(:bark, :bite)
class Dog
class << self
alias_method :old_new, :new
def new(*args)
obj = old_new(*args)
obj.bark = 'really loud'
obj
end
end
end
dd = Dog.new
p dd.bark # => should be "really loud"