You need to close the polygon with creating a reversed connection line.
The inner loop should be reversed with the outer loop
pm = Geom::PolygonMesh.new
pm.add_point([ 0, 0, 0]) # 1
pm.add_point([ 10, 0, 0]) # 2
pm.add_point([ 10, -10, 0]) # 3
pm.add_point([ 0, -10, 0]) # 4
pm.add_point([ 3, -3, 0]) # 5
pm.add_point([ 6, -3, 0]) # 6
pm.add_point([ 6, -6, 0]) # 7
pm.add_point([ 3, -6, 0]) # 8
pm.add_polygon(1, 2, 3, 4, 1, 5, 8, 7, 6, 5, 1)
Sketchup.active_model.entities.fill_from_mesh(pm)