def by(*author_ids)
      author_ids = author_ids.flatten.map do |author_id|
        author_id.is_a?(Actor) ? author_id.id : author_id
      end
      commits = CommitCollection.new
      each do |commit|
        commits << commit if author_ids.include? commit.author.id
      end
      commits
    end
def by(*author_ids)
      author_ids = author_ids.flatten.map do |author_id|
        author_id.is_a?(Actor) ? author_id.id : author_id
      end
      commits = CommitCollection.new
      each do |commit|
        commits << commit if author_ids.include? commit.author.id
      end
      commits
    end
Returns the list of commits that have been authored by the given authors

 @param [Array<Actor, Object>] author_ids One or more actual `Actor`
        instances or IDs of the authors that the commits should be
        filtered by
 @return [CommitCollection] The commits that have been authored by the
         given authors
 @see Commit#author