C# RotateAround for 2DRigidBodies

I have a script that makes gameobjects move towards and rotate around another scripted gameobject. I would like to be able to use the gameobject’s 2Drigidbody for rotating. Is there a RotateAround function for 2DRigidbodies? I was also noticing that while using RotateAround the gameobjects wouldn’t move towards the scripted gameobject. How do I get the gameobjects to rotate around and move towards the scripted gameobject?

using UnityEngine;
using System.Collections;

public class MoveTowardsAndRotate: MonoBehaviour {
public float fDistance = 1;
public float fSpeed = 2;
public float sensitivity = 3F;
public GameObject gameObjectToMove;
public Collider2D[] cols;
    void LateUpdate () {
			cols = Physics2D.OverlapCircleAll(transform.position, 5f);
		for(int i = 0; i < cols.Length; i++){
		cols_.gameObject.rigidbody2D.MovePosition(Vector3.Lerp(cols*.gameObject.transform.position, transform.position, Time.smoothDeltaTime/sensitivity));*_

_ cols*.transform.RotateAround(transform.position, Vector3.forward, - fSpeed / fDistance);

A RotateAround() will cause a change in position as well as a change in direction. So here is a literal translation of what you are asking for (untested):

	for(int i = 0; i < cols.Length; i++){
		Vector3 pos = Vector3.Lerp(cols*.gameObject.transform.position, transform.position, Time.smoothDeltaTime/sensitivity);*
  •   	Vector3 v = pos - transform.position;*
  •   	float angle = -fSpeed / fDistance;*

_ v = Quaternion.AngleAxis (angle, Vector3.forward) * v;_

  •   	pos = transform.position + v;*

_ Rigidbody2D r = cols*.gameObject.rigidbody2D;_
r.MoveRotation(r.rotation + angle);_
It can be written in a more compact (and less readable) form, but I left all the steps in.