{"action":"created","issue":{"url":"https://api.github.com/repos/troessner/reek/issues/749","labels_url":"https://api.github.com/repos/troessner/reek/issues/749/labels{/name}","comments_url":"https://api.github.com/repos/troessner/reek/issues/749/comments","events_url":"https://api.github.com/repos/troessner/reek/issues/749/events","html_url":"https://github.com/troessner/reek/issues/749","id":112886419,"number":749,"title":"Include new `.?` operator as `NilCheck` smell","user":{"login":"backus","id":2085622,"avatar_url":"https://avatars.githubusercontent.com/u/2085622?v=3","gravatar_id":"","url":"https://api.github.com/users/backus","html_url":"https://github.com/backus","followers_url":"https://api.github.com/users/backus/followers","following_url":"https://api.github.com/users/backus/following{/other_user}","gists_url":"https://api.github.com/users/backus/gists{/gist_id}","starred_url":"https://api.github.com/users/backus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/backus/subscriptions","organizations_url":"https://api.github.com/users/backus/orgs","repos_url":"https://api.github.com/users/backus/repos","events_url":"https://api.github.com/users/backus/events{/privacy}","received_events_url":"https://api.github.com/users/backus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-22T20:36:59Z","updated_at":"2015-10-22T20:38:55Z","closed_at":null,"body":"The new `.?` operator (https://github.com/ruby/ruby/commit/a356fe1c3550892902103f66928426ac8279e072) (similar to ActiveSupport's [`#try`](http://guides.rubyonrails.org/active_support_core_extensions.html#try)) adds the following syntax:\r\n\r\n**ruby 2.3**\r\n```ruby\r\nfoo = bar.?baz.?qux\r\n```\r\n\r\nwhich is functionally equivalent to\r\n\r\n**ruby 2.2**\r\n```ruby\r\nfoo = bar.baz.qux unless bar.nil? || bar.baz.nil?\r\n```\r\n\r\nThis depends on Parser adding support for this syntax (https://github.com/whitequark/parser/issues/209) but after that this should be possible."},"comment":{"url":"https://api.github.com/repos/troessner/reek/issues/comments/150349697","html_url":"https://github.com/troessner/reek/issues/749#issuecomment-150349697","issue_url":"https://api.github.com/repos/troessner/reek/issues/749","id":150349697,"user":{"login":"troessner","id":271109,"avatar_url":"https://avatars.githubusercontent.com/u/271109?v=3","gravatar_id":"","url":"https://api.github.com/users/troessner","html_url":"https://github.com/troessner","followers_url":"https://api.github.com/users/troessner/followers","following_url":"https://api.github.com/users/troessner/following{/other_user}","gists_url":"https://api.github.com/users/troessner/gists{/gist_id}","starred_url":"https://api.github.com/users/troessner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/troessner/subscriptions","organizations_url":"https://api.github.com/users/troessner/orgs","repos_url":"https://api.github.com/users/troessner/repos","events_url":"https://api.github.com/users/troessner/events{/privacy}","received_events_url":"https://api.github.com/users/troessner/received_events","type":"User","site_admin":false},"created_at":"2015-10-22T20:38:55Z","updated_at":"2015-10-22T20:38:55Z","body":"Yep, had that one already on my watch list, thanks for opening up this issue!"}}