class LearningObject::DraftBuilder def self.build(publisher, params={}) @draft = LearningObject::Draft.new(sanitize_params(params)) # build topics params[:topics].each do |t| @draft.topics << Topic.find(t) end #build language @draft.language = Language.find(params[:language]) # set publisher @draft.publisher = publisher @draft end private def self.sanitize_params(args={}) _args = args.clone %w(topics language).each do |arg| _args.delete(arg) end _args end end