{"action":"created","issue":{"url":"https://api.github.com/repos/dry-rb/dry-transaction/issues/33","repository_url":"https://api.github.com/repos/dry-rb/dry-transaction","labels_url":"https://api.github.com/repos/dry-rb/dry-transaction/issues/33/labels{/name}","comments_url":"https://api.github.com/repos/dry-rb/dry-transaction/issues/33/comments","events_url":"https://api.github.com/repos/dry-rb/dry-transaction/issues/33/events","html_url":"https://github.com/dry-rb/dry-transaction/pull/33","id":162829362,"number":33,"title":"Use new custom matcher for match block API","user":{"login":"timriley","id":3134,"avatar_url":"https://avatars.githubusercontent.com/u/3134?v=3","gravatar_id":"","url":"https://api.github.com/users/timriley","html_url":"https://github.com/timriley","followers_url":"https://api.github.com/users/timriley/followers","following_url":"https://api.github.com/users/timriley/following{/other_user}","gists_url":"https://api.github.com/users/timriley/gists{/gist_id}","starred_url":"https://api.github.com/users/timriley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timriley/subscriptions","organizations_url":"https://api.github.com/users/timriley/orgs","repos_url":"https://api.github.com/users/timriley/repos","events_url":"https://api.github.com/users/timriley/events{/privacy}","received_events_url":"https://api.github.com/users/timriley/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-06-29T02:42:06Z","updated_at":"2016-06-29T13:25:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dry-rb/dry-transaction/pulls/33","html_url":"https://github.com/dry-rb/dry-transaction/pull/33","diff_url":"https://github.com/dry-rb/dry-transaction/pull/33.diff","patch_url":"https://github.com/dry-rb/dry-transaction/pull/33.patch"},"body":"This makes use of the work going on in https://github.com/dry-rb/dry-result_matcher/pull/6.\r\n\r\nBy using a custom matcher, we can simplify the `StepFailure` object for matching on particular step failures, and then pass the actual failure value directly to the match blocks, rather than having to keep it wrapped up in a StepFailure all the way along, which is prone to errors, because the user actually wants direct access to the object we're wrapping.\r\n\r\nIt also means we remove code from dry-transaction which was an effective copy of what already existed in dry-result_matcher.\r\n\r\nI think this proves that the approach we've taken in https://github.com/dry-rb/dry-result_matcher/pull/6 is helpful, and we should go ahead and merge it :)"},"comment":{"url":"https://api.github.com/repos/dry-rb/dry-transaction/issues/comments/229354522","html_url":"https://github.com/dry-rb/dry-transaction/pull/33#issuecomment-229354522","issue_url":"https://api.github.com/repos/dry-rb/dry-transaction/issues/33","id":229354522,"user":{"login":"timriley","id":3134,"avatar_url":"https://avatars.githubusercontent.com/u/3134?v=3","gravatar_id":"","url":"https://api.github.com/users/timriley","html_url":"https://github.com/timriley","followers_url":"https://api.github.com/users/timriley/followers","following_url":"https://api.github.com/users/timriley/following{/other_user}","gists_url":"https://api.github.com/users/timriley/gists{/gist_id}","starred_url":"https://api.github.com/users/timriley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timriley/subscriptions","organizations_url":"https://api.github.com/users/timriley/orgs","repos_url":"https://api.github.com/users/timriley/repos","events_url":"https://api.github.com/users/timriley/events{/privacy}","received_events_url":"https://api.github.com/users/timriley/received_events","type":"User","site_admin":false},"created_at":"2016-06-29T13:25:07Z","updated_at":"2016-06-29T13:25:07Z","body":"> Couldn't we also provide a more general approach, in which we define the kind of failure type with an option failure: :something on the transactions? I would happily send a PR for this.\r\n\r\nWould you mind describing this a little more too?\r\n\r\nI'm not sure it's something we'd support with this change and for this release, or even at all, but I'm interested in seeing how people use this. There may be change we could make in this gem to help. "}}
{"actor":{"display_login":"timriley"}}