With_scope & association proxies

I’ve been doing stuff like

class Book < ActiveRecord::Base
has_many :contributions, :dependent => :destroy
has_many :contributors, :through => :contributions, :uniq => true
has_many :authors, :through => :contributions, :source
=> :author, :conditions => “contributions.role = ‘author’” do
def <<(author)
Contribution.with_scope(:create => {:role => “author”})
{ self.concat author }
end
end
end

(which I stole from
has_many :through - New on edge: Magic join model creation)

In 2.0 with_scope is protected, to discourage abuse. Is this still a
legitimate use of with_scope or is there a better pattern to follow ?

Fred