I do not like this line.

1. Creating with 0777 is against my personal definition of security but I am willing to let you guys convince me that it is a non issue.
2. Ignoring any error output for directory creation but then assuming the directory exists is IMO a major NO-GO as it shifts the unavoidable error to some totally unrelated location. Here it would most likely shift it from instantiation of the repository into the first usage.

Aside from that, the PR looks good and passes unit tests.