{"action":"created","issue":{"url":"https://api.github.com/repos/manastech/crystal/issues/564","labels_url":"https://api.github.com/repos/manastech/crystal/issues/564/labels{/name}","comments_url":"https://api.github.com/repos/manastech/crystal/issues/564/comments","events_url":"https://api.github.com/repos/manastech/crystal/issues/564/events","html_url":"https://github.com/manastech/crystal/pull/564","id":69923878,"number":564,"title":"Spec : get rid of object patching","user":{"login":"waterlink","id":609046,"avatar_url":"https://avatars.githubusercontent.com/u/609046?v=3","gravatar_id":"","url":"https://api.github.com/users/waterlink","html_url":"https://github.com/waterlink","followers_url":"https://api.github.com/users/waterlink/followers","following_url":"https://api.github.com/users/waterlink/following{/other_user}","gists_url":"https://api.github.com/users/waterlink/gists{/gist_id}","starred_url":"https://api.github.com/users/waterlink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/waterlink/subscriptions","organizations_url":"https://api.github.com/users/waterlink/orgs","repos_url":"https://api.github.com/users/waterlink/repos","events_url":"https://api.github.com/users/waterlink/events{/privacy}","received_events_url":"https://api.github.com/users/waterlink/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":38,"created_at":"2015-04-21T18:55:03Z","updated_at":"2015-10-15T21:55:58Z","closed_at":"2015-06-16T17:08:57Z","pull_request":{"url":"https://api.github.com/repos/manastech/crystal/pulls/564","html_url":"https://github.com/manastech/crystal/pull/564","diff_url":"https://github.com/manastech/crystal/pull/564.diff","patch_url":"https://github.com/manastech/crystal/pull/564.patch"},"body":"Adds `expect(...).to matcher`. Removes `Object#should` and `Object#should_not`. But leaves possibility to re-enable them with `spec_enable_should` macro.\r\n\r\nCommits are made in a fashion to make them easier to read:\r\n\r\n- https://github.com/waterlink/crystal/commit/b9356aa6045c5315ac362647fd80c763880585eb - adds `expect` method and `spec_enable_should` macro.\r\n- https://github.com/waterlink/crystal/commit/aa5df1ecf258b4fad904942ca9d487d6398a7a43 - fixes all specs to use `expect(...).to matcher` (~ +5000/-5000, probably kills browser, so read from git directly)\r\n- https://github.com/waterlink/crystal/commit/0ec2ab6289de385ff0da5c60b075537e5cb01263 - a bunch of TODOs. I have encountered bunch of specs that are commented out, but seems like they want to be pending.\r\n- https://github.com/waterlink/crystal/commit/ab3caeb0a86e5d6acd3e7a5f8248c074fadd2225 - fixes template for `crystal init` to generate `example_spec.cr` with `expect(...).to matcher` style.\r\n\r\n---\r\n\r\nSo, unexpectedly, doesn't change a thing about performance:\r\n\r\nBefore:\r\n\r\n```\r\ncompile: 1:36 mins and 1.4GB of RAM\r\nsuite run: 3:04 mins and 1.6GB of RAM\r\n```\r\n\r\nAfter:\r\n```\r\ncompile: 1:48 mins and 1.4 GB of RAM\r\nsuite run: 2:50 mins and 1.6 GB of RAM\r\n```\r\n\r\nBoth compile steps were peaking for 1-2 seconds to 2 GB and then back to 1.4GB"},"comment":{"url":"https://api.github.com/repos/manastech/crystal/issues/comments/148533390","html_url":"https://github.com/manastech/crystal/pull/564#issuecomment-148533390","issue_url":"https://api.github.com/repos/manastech/crystal/issues/564","id":148533390,"user":{"login":"jhass","id":141294,"avatar_url":"https://avatars.githubusercontent.com/u/141294?v=3","gravatar_id":"","url":"https://api.github.com/users/jhass","html_url":"https://github.com/jhass","followers_url":"https://api.github.com/users/jhass/followers","following_url":"https://api.github.com/users/jhass/following{/other_user}","gists_url":"https://api.github.com/users/jhass/gists{/gist_id}","starred_url":"https://api.github.com/users/jhass/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jhass/subscriptions","organizations_url":"https://api.github.com/users/jhass/orgs","repos_url":"https://api.github.com/users/jhass/repos","events_url":"https://api.github.com/users/jhass/events{/privacy}","received_events_url":"https://api.github.com/users/jhass/received_events","type":"User","site_admin":false},"created_at":"2015-10-15T21:55:58Z","updated_at":"2015-10-15T21:55:58Z","body":"Scroll up, I voted in favour too."}}