An object different to `nil` and `false` is considered a truthy value in ruby, so this can be considered correct. I really don't want to enter in polemics, the method originally returned `true` but I changed it in the last minute because I thought that returning the object is more useful.

Imagine this code:

```ruby
if r = client.repository?('foo')
  puts r.name
else
  client.create_repository('calavera/foo')
end
```

If `repository?` returns `true` you'll need to call the api a second time to get the name of the repo.