This logic seems a bit complex. I like that there's a comment, but the general pattern I see in [other Ruby libs](https://github.com/octokit/octokit.rb/blob/e2dd92202505e577c20658ec2f7ab0bdaa352fb7/lib/octokit/configurable.rb#L86) is:

```ruby
val = instance_variable_get(:"@{attr}")
```