{"action":"created","issue":{"url":"https://api.github.com/repos/recurly/recurly-client-ruby/issues/190","labels_url":"https://api.github.com/repos/recurly/recurly-client-ruby/issues/190/labels{/name}","comments_url":"https://api.github.com/repos/recurly/recurly-client-ruby/issues/190/comments","events_url":"https://api.github.com/repos/recurly/recurly-client-ruby/issues/190/events","html_url":"https://github.com/recurly/recurly-client-ruby/pull/190","id":74091289,"number":190,"title":"Threadsafe Recurly.api_key?","user":{"login":"ciddennis","id":9404,"avatar_url":"https://avatars.githubusercontent.com/u/9404?v=3","gravatar_id":"","url":"https://api.github.com/users/ciddennis","html_url":"https://github.com/ciddennis","followers_url":"https://api.github.com/users/ciddennis/followers","following_url":"https://api.github.com/users/ciddennis/following{/other_user}","gists_url":"https://api.github.com/users/ciddennis/gists{/gist_id}","starred_url":"https://api.github.com/users/ciddennis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ciddennis/subscriptions","organizations_url":"https://api.github.com/users/ciddennis/orgs","repos_url":"https://api.github.com/users/ciddennis/repos","events_url":"https://api.github.com/users/ciddennis/events{/privacy}","received_events_url":"https://api.github.com/users/ciddennis/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"bhelx","id":185919,"avatar_url":"https://avatars.githubusercontent.com/u/185919?v=3","gravatar_id":"","url":"https://api.github.com/users/bhelx","html_url":"https://github.com/bhelx","followers_url":"https://api.github.com/users/bhelx/followers","following_url":"https://api.github.com/users/bhelx/following{/other_user}","gists_url":"https://api.github.com/users/bhelx/gists{/gist_id}","starred_url":"https://api.github.com/users/bhelx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhelx/subscriptions","organizations_url":"https://api.github.com/users/bhelx/orgs","repos_url":"https://api.github.com/users/bhelx/repos","events_url":"https://api.github.com/users/bhelx/events{/privacy}","received_events_url":"https://api.github.com/users/bhelx/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-05-07T18:59:07Z","updated_at":"2015-05-28T19:47:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/recurly/recurly-client-ruby/pulls/190","html_url":"https://github.com/recurly/recurly-client-ruby/pull/190","diff_url":"https://github.com/recurly/recurly-client-ruby/pull/190.diff","patch_url":"https://github.com/recurly/recurly-client-ruby/pull/190.patch"},"body":"Resolves issue #159 Threadsafe Recurly.api_key?  by adding a new method that will allow developers to optionally override keys on a per thread context.\r\n\r\nI know this is a lot like the current pull request for this issue. But this takes it a step further and allows any of the static config variable to be overridden.  Also it will only have any impact if the developer calls the Recurly.config() method.  Otherwise the normal code path stays in place.\r\n"},"comment":{"url":"https://api.github.com/repos/recurly/recurly-client-ruby/issues/comments/106577057","html_url":"https://github.com/recurly/recurly-client-ruby/pull/190#issuecomment-106577057","issue_url":"https://api.github.com/repos/recurly/recurly-client-ruby/issues/190","id":106577057,"user":{"login":"bhelx","id":185919,"avatar_url":"https://avatars.githubusercontent.com/u/185919?v=3","gravatar_id":"","url":"https://api.github.com/users/bhelx","html_url":"https://github.com/bhelx","followers_url":"https://api.github.com/users/bhelx/followers","following_url":"https://api.github.com/users/bhelx/following{/other_user}","gists_url":"https://api.github.com/users/bhelx/gists{/gist_id}","starred_url":"https://api.github.com/users/bhelx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhelx/subscriptions","organizations_url":"https://api.github.com/users/bhelx/orgs","repos_url":"https://api.github.com/users/bhelx/repos","events_url":"https://api.github.com/users/bhelx/events{/privacy}","received_events_url":"https://api.github.com/users/bhelx/received_events","type":"User","site_admin":false},"created_at":"2015-05-28T19:47:09Z","updated_at":"2015-05-28T19:47:09Z","body":"@ciddennis I like the explicit opt in aspect. I'm more concerned about the safety of the PR than I am having a single interface so I can get behind that approach.\r\n\r\nA couple things I'd like to see before I can merge:\r\n\r\n1. Add a note in the Configuration section of the README that explains how to use this and why you would want to use this. It can be pretty simple. Just needs to explain that you can scope different configuration options to the current thread if you are working with multiple credentials.\r\n2. Add a bullet point to the Unreleased section of the changelog: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md\r\n\r\nAnd one other thought I'd like to run by you. What do you think about possibly changing the method name from `config` to something that a little more descriptive to what it's actually doing? Maybe something like `thread_scoped_config`? I could go either way just wanted to know your opinion.\r\n\r\nThanks again for taking the time to work on this."}}