Allow for a single range or an array of ranges for the period

Also fix the "simulated indifferent access" for all needed cases.

Add a spec to test all this plus a basic test for the maintainers.
Style/EmptyLinesAroundAccessModifier: Keep a blank line before and after `private`.