{"action":"created","issue":{"url":"https://api.github.com/repos/elixir-lang/gettext/issues/19","labels_url":"https://api.github.com/repos/elixir-lang/gettext/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/elixir-lang/gettext/issues/19/comments","events_url":"https://api.github.com/repos/elixir-lang/gettext/issues/19/events","html_url":"https://github.com/elixir-lang/gettext/pull/19","id":74895497,"number":19,"title":"`%Gettext.PO{}` struct","user":{"login":"whatyouhide","id":3890250,"avatar_url":"https://avatars.githubusercontent.com/u/3890250?v=3","gravatar_id":"","url":"https://api.github.com/users/whatyouhide","html_url":"https://github.com/whatyouhide","followers_url":"https://api.github.com/users/whatyouhide/followers","following_url":"https://api.github.com/users/whatyouhide/following{/other_user}","gists_url":"https://api.github.com/users/whatyouhide/gists{/gist_id}","starred_url":"https://api.github.com/users/whatyouhide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whatyouhide/subscriptions","organizations_url":"https://api.github.com/users/whatyouhide/orgs","repos_url":"https://api.github.com/users/whatyouhide/repos","events_url":"https://api.github.com/users/whatyouhide/events{/privacy}","received_events_url":"https://api.github.com/users/whatyouhide/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-05-10T11:07:34Z","updated_at":"2015-05-10T13:58:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/elixir-lang/gettext/pulls/19","html_url":"https://github.com/elixir-lang/gettext/pull/19","diff_url":"https://github.com/elixir-lang/gettext/pull/19.diff","patch_url":"https://github.com/elixir-lang/gettext/pull/19.patch"},"body":"Hey there @josevalim, I implemented the `%Gettext.PO{}` struct we talked about some time ago, can you take a quick look at this to see if you had something like it in mind?\r\n\r\nWhat I tried to do is separating responsibilities as much as possible: I think `Gettext.PO.Parser` shouldn't know about `%Gettext.PO{}`s, so I made `Gettext.PO.Parser.parse/1` return a tuple like `{:ok, headers, translations}` instead of `{:ok, translations}`. An instance of `%Gettext.PO{}` is built up in `Gettext.PO.parse_(string|file)` so that only `PO` knows about `%PO{}`. Wdyt?"},"comment":{"url":"https://api.github.com/repos/elixir-lang/gettext/issues/comments/100645360","html_url":"https://github.com/elixir-lang/gettext/pull/19#issuecomment-100645360","issue_url":"https://api.github.com/repos/elixir-lang/gettext/issues/19","id":100645360,"user":{"login":"josevalim","id":9582,"avatar_url":"https://avatars.githubusercontent.com/u/9582?v=3","gravatar_id":"","url":"https://api.github.com/users/josevalim","html_url":"https://github.com/josevalim","followers_url":"https://api.github.com/users/josevalim/followers","following_url":"https://api.github.com/users/josevalim/following{/other_user}","gists_url":"https://api.github.com/users/josevalim/gists{/gist_id}","starred_url":"https://api.github.com/users/josevalim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josevalim/subscriptions","organizations_url":"https://api.github.com/users/josevalim/orgs","repos_url":"https://api.github.com/users/josevalim/repos","events_url":"https://api.github.com/users/josevalim/events{/privacy}","received_events_url":"https://api.github.com/users/josevalim/received_events","type":"User","site_admin":false},"created_at":"2015-05-10T13:58:07Z","updated_at":"2015-05-10T13:58:07Z","body":"Beautiful.  :heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:"}}