iterate over files in index rather than manifest

the manifest would not always be populated, whereas the index is always
populated and consequently does not cause empty output
update ruby version
bump version