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