Line 20 is unnecessary. Basically, the expectation is: 

(@my_string.split(".")).should have(2).items