Repository Pattern for Ruby