How do you match the rotation of an object based on the edges of another object?
You could use snapping, but I would use vertex snapping, instead of edges: enable snapping, choose vertex, then in edit mode start the rotation (on the correct axis). 

While rotating, move your cursor over a vertex of the reference shape, to get the alignment. Sometimes, depending on your exact setup, and the various object transforms, it could work also in object mode.

Here is a simplified example: