{"action":"created","issue":{"url":"https://api.github.com/repos/circe/circe-yaml/issues/12","repository_url":"https://api.github.com/repos/circe/circe-yaml","labels_url":"https://api.github.com/repos/circe/circe-yaml/issues/12/labels{/name}","comments_url":"https://api.github.com/repos/circe/circe-yaml/issues/12/comments","events_url":"https://api.github.com/repos/circe/circe-yaml/issues/12/events","html_url":"https://github.com/circe/circe-yaml/pull/12","id":193246655,"number":12,"title":"Simplify code","user":{"login":"jeremyrsmith","id":864869,"avatar_url":"https://avatars.githubusercontent.com/u/864869?v=3","gravatar_id":"","url":"https://api.github.com/users/jeremyrsmith","html_url":"https://github.com/jeremyrsmith","followers_url":"https://api.github.com/users/jeremyrsmith/followers","following_url":"https://api.github.com/users/jeremyrsmith/following{/other_user}","gists_url":"https://api.github.com/users/jeremyrsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/jeremyrsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeremyrsmith/subscriptions","organizations_url":"https://api.github.com/users/jeremyrsmith/orgs","repos_url":"https://api.github.com/users/jeremyrsmith/repos","events_url":"https://api.github.com/users/jeremyrsmith/events{/privacy}","received_events_url":"https://api.github.com/users/jeremyrsmith/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-12-02T23:56:15Z","updated_at":"2016-12-07T00:21:45Z","closed_at":"2016-12-03T07:35:31Z","pull_request":{"url":"https://api.github.com/repos/circe/circe-yaml/pulls/12","html_url":"https://github.com/circe/circe-yaml/pull/12","diff_url":"https://github.com/circe/circe-yaml/pull/12.diff","patch_url":"https://github.com/circe/circe-yaml/pull/12.patch"},"body":"This PR removes a lot of classes and complexity. I did this because I think it's helpful to keep the  Scala/Java boundary as small as possible in order to avoid things like casts from `Any`. Instead, the default SnakeYAML classes are used for serialization.\r\n\r\nThe interface is now much more inline with the original interface (and with circe itself). All of the  SnakeYAML details are hidden from the functional interface, so another implementation could implement the same package structure and functional interface without needing any inheritance.\r\n\r\nThe symmetric serialization tests pass; it still might be helpful to add more tests, though.\r\n\r\nAny objections @jeffmay @travisbrown?"},"comment":{"url":"https://api.github.com/repos/circe/circe-yaml/issues/comments/265316838","html_url":"https://github.com/circe/circe-yaml/pull/12#issuecomment-265316838","issue_url":"https://api.github.com/repos/circe/circe-yaml/issues/12","id":265316838,"user":{"login":"jeffmay","id":755988,"avatar_url":"https://avatars.githubusercontent.com/u/755988?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffmay","html_url":"https://github.com/jeffmay","followers_url":"https://api.github.com/users/jeffmay/followers","following_url":"https://api.github.com/users/jeffmay/following{/other_user}","gists_url":"https://api.github.com/users/jeffmay/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffmay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffmay/subscriptions","organizations_url":"https://api.github.com/users/jeffmay/orgs","repos_url":"https://api.github.com/users/jeffmay/repos","events_url":"https://api.github.com/users/jeffmay/events{/privacy}","received_events_url":"https://api.github.com/users/jeffmay/received_events","type":"User","site_admin":false},"created_at":"2016-12-07T00:21:45Z","updated_at":"2016-12-07T00:21:45Z","body":"@jeremyrsmith I know I didn't speak up about this sooner, but this approach is less efficient than before. This approach allows Snake to parse everything into Java container classes and then into the Json AST, rather than directly from each Node into the AST (using Scala containers where necessary). It's probably only a small cost, but just wanted to point it out."}}
{"actor":{"display_login":"jeffmay"}}