{"action":"created","comment":{"url":"https://api.github.com/repos/0exp/evil_events/pulls/comments/183218179","pull_request_review_id":114182202,"id":183218179,"diff_hunk":"@@ -1,80 +1,77 @@\n # frozen_string_literal: true\n \n class EvilEvents::Core::Events::Serializers\n-  # @api public\n+  # @api private\n   # @since 0.1.0\n-  module Hash\n+  class Hash < Base\n     # @since 0.1.1\n-    extend Base\n \n-    class << self\n-      # @param event [EvilEvents::Core::Events::AbstractEvent]\n-      # @raise [EvilEvents::HashSerializationError]\n-      # @return [::Hash]\n-      #\n-      # @since 0.1.0\n-      def serialize(event)\n-        unless event.is_a?(EvilEvents::Core::Events::AbstractEvent)\n-          raise EvilEvents::HashSerializationError\n-        end\n-\n-        {\n-          id:       event.id,\n-          type:     event.type,\n-          payload:  event.payload,\n-          metadata: event.metadata\n-        }\n+    # @param event [EvilEvents::Core::Events::AbstractEvent]\n+    # @raise [EvilEvents::HashSerializationError]\n+    # @return [::Hash]\n+    #\n+    # @since 0.1.0\n+    def serialize(event)\n+      unless event.is_a?(EvilEvents::Core::Events::AbstractEvent)\n+        raise EvilEvents::HashSerializationError\n       end\n \n-      # rubocop:disable Metrics/AbcSize\n-      # rubocop:disable Metrics/CyclomaticComplexity\n-      # rubocop:disable Metrics/PerceivedComplexity\n-\n-      # @param hash [::Hash]\n-      # @raise [EvilEvents::HashDeserializationError]\n-      # @return [EvilEvents::Core::Events::AbstractEvent]\n-      #\n-      # @since 0.1.0\n-      def deserialize(hash)\n-        raise EvilEvents::HashDeserializationError unless hash.is_a?(::Hash)\n+      {\n+        id:       event.id,\n+        type:     event.type,\n+        payload:  event.payload,\n+        metadata: event.metadata\n+      }\n+    end\n \n-        event_id       = hash[:id]       || hash['id']\n-        event_type     = hash[:type]     || hash['type']\n-        event_payload  = hash[:payload]  || hash['payload']\n-        event_metadata = hash[:metadata] || hash['metadata']\n+    # rubocop:disable Metrics/AbcSize\n+    # rubocop:disable Metrics/CyclomaticComplexity\n+    # rubocop:disable Metrics/PerceivedComplexity\n \n-        unless event_type && event_payload && event_metadata\n-          raise EvilEvents::HashDeserializationError\n-        end\n+    # @param hash [::Hash]\n+    # @raise [EvilEvents::HashDeserializationError]\n+    # @return [EvilEvents::Core::Events::AbstractEvent]\n+    #\n+    # @since 0.1.0\n+    def deserialize(hash)\n+      raise EvilEvents::HashDeserializationError unless hash.is_a?(::Hash)\n \n-        raise EvilEvents::HashDeserializationError unless event_payload.is_a?(::Hash)\n-        raise EvilEvents::HashDeserializationError unless event_metadata.is_a?(::Hash)\n+      event_id       = hash[:id]       || hash['id']\n+      event_type     = hash[:type]     || hash['type']\n+      event_payload  = hash[:payload]  || hash['payload']\n+      event_metadata = hash[:metadata] || hash['metadata']\n \n-        restore_event_instance(\n-          type:     event_type,\n-          id:       event_id,\n-          payload:  symbolized_event_data(event_payload),\n-          metadata: symbolized_event_data(event_metadata)\n-        )\n+      unless event_type && event_payload && event_metadata\n+        raise EvilEvents::HashDeserializationError\n       end\n-      # rubocop:enable Metrics/AbcSize\n-      # rubocop:enable Metrics/CyclomaticComplexity\n-      # rubocop:enable Metrics/PerceivedComplexity\n \n-      private\n+      raise EvilEvents::HashDeserializationError unless event_payload.is_a?(::Hash)\n+      raise EvilEvents::HashDeserializationError unless event_metadata.is_a?(::Hash)\n+\n+      restore_event_instance(\n+        id:       event_id,\n+        type:     event_type,\n+        payload:  symbolized_event_data(event_payload),\n+        metadata: symbolized_event_data(event_metadata)\n+      )\n+    end\n+    # rubocop:enable Metrics/AbcSize\n+    # rubocop:enable Metrics/CyclomaticComplexity\n+    # rubocop:enable Metrics/PerceivedComplexity\n+\n+    private\n \n-      # @param payload_hash [::Hash]\n-      # @return [::Hash]\n-      #\n-      # @since 0.1.0\n-      def symbolized_event_data(payload_hash)\n-        payload_hash.each_pair.each_with_object({}) do |(key, value), result_hash|\n-          result_hash[key.to_sym] = value\n-        end\n+    # @param payload_hash [::Hash]\n+    # @return [::Hash]\n+    #\n+    # @since 0.1.0\n+    def symbolized_event_data(payload_hash)\n+      payload_hash.each_pair.each_with_object({}) do |(key, value), result_hash|\n+        result_hash[key.to_sym] = value\n       end\n     end\n   end\n \n   # @since 0.1.0\n-  register(:hash) { Hash }\n+  register(:hash) { Hash.new }","path":"lib/evil_events/core/events/serializers/hash.rb","position":135,"original_position":135,"commit_id":"d87c36141c7a4c6d86409b7f85f5ccc8887233a7","original_commit_id":"d87c36141c7a4c6d86409b7f85f5ccc8887233a7","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars0.githubusercontent.com/u/6697940?v=4","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"Style/EmptyLiteral: Use hash literal {} instead of Hash.new. (https://github.com/bbatsov/ruby-style-guide#literal-array-hash)","created_at":"2018-04-21T20:16:24Z","updated_at":"2018-04-21T20:16:25Z","html_url":"https://github.com/0exp/evil_events/pull/43#discussion_r183218179","pull_request_url":"https://api.github.com/repos/0exp/evil_events/pulls/43","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/0exp/evil_events/pulls/comments/183218179"},"html":{"href":"https://github.com/0exp/evil_events/pull/43#discussion_r183218179"},"pull_request":{"href":"https://api.github.com/repos/0exp/evil_events/pulls/43"}}},"pull_request":{"url":"https://api.github.com/repos/0exp/evil_events/pulls/43","id":183240323,"html_url":"https://github.com/0exp/evil_events/pull/43","diff_url":"https://github.com/0exp/evil_events/pull/43.diff","patch_url":"https://github.com/0exp/evil_events/pull/43.patch","issue_url":"https://api.github.com/repos/0exp/evil_events/issues/43","number":43,"state":"open","locked":false,"title":"MessagePack serialization format","user":{"login":"0exp","id":33183529,"avatar_url":"https://avatars1.githubusercontent.com/u/33183529?v=4","gravatar_id":"","url":"https://api.github.com/users/0exp","html_url":"https://github.com/0exp","followers_url":"https://api.github.com/users/0exp/followers","following_url":"https://api.github.com/users/0exp/following{/other_user}","gists_url":"https://api.github.com/users/0exp/gists{/gist_id}","starred_url":"https://api.github.com/users/0exp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0exp/subscriptions","organizations_url":"https://api.github.com/users/0exp/orgs","repos_url":"https://api.github.com/users/0exp/repos","events_url":"https://api.github.com/users/0exp/events{/privacy}","received_events_url":"https://api.github.com/users/0exp/received_events","type":"User","site_admin":false},"body":"Soon","created_at":"2018-04-21T20:16:06Z","updated_at":"2018-04-21T20:16:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2bec8596dbd56c0a945e41925b8ed247fbea600b","assignee":{"login":"0exp","id":33183529,"avatar_url":"https://avatars1.githubusercontent.com/u/33183529?v=4","gravatar_id":"","url":"https://api.github.com/users/0exp","html_url":"https://github.com/0exp","followers_url":"https://api.github.com/users/0exp/followers","following_url":"https://api.github.com/users/0exp/following{/other_user}","gists_url":"https://api.github.com/users/0exp/gists{/gist_id}","starred_url":"https://api.github.com/users/0exp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0exp/subscriptions","organizations_url":"https://api.github.com/users/0exp/orgs","repos_url":"https://api.github.com/users/0exp/repos","events_url":"https://api.github.com/users/0exp/events{/privacy}","received_events_url":"https://api.github.com/users/0exp/received_events","type":"User","site_admin":false},"assignees":[{"login":"0exp","id":33183529,"avatar_url":"https://avatars1.githubusercontent.com/u/33183529?v=4","gravatar_id":"","url":"https://api.github.com/users/0exp","html_url":"https://github.com/0exp","followers_url":"https://api.github.com/users/0exp/followers","following_url":"https://api.github.com/users/0exp/following{/other_user}","gists_url":"https://api.github.com/users/0exp/gists{/gist_id}","starred_url":"https://api.github.com/users/0exp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0exp/subscriptions","organizations_url":"https://api.github.com/users/0exp/orgs","repos_url":"https://api.github.com/users/0exp/repos","events_url":"https://api.github.com/users/0exp/events{/privacy}","received_events_url":"https://api.github.com/users/0exp/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":754573503,"url":"https://api.github.com/repos/0exp/evil_events/labels/branch:development","name":"branch:development","color":"bfdadc","default":false},{"id":735700606,"url":"https://api.github.com/repos/0exp/evil_events/labels/feature","name":"feature","color":"5319e7","default":false},{"id":735808870,"url":"https://api.github.com/repos/0exp/evil_events/labels/wip","name":"wip","color":"000000","default":false}],"milestone":{"url":"https://api.github.com/repos/0exp/evil_events/milestones/6","html_url":"https://github.com/0exp/evil_events/milestone/6","labels_url":"https://api.github.com/repos/0exp/evil_events/milestones/6/labels","id":3172635,"number":6,"title":"0.4.0","description":"","creator":{"login":"0exp","id":33183529,"avatar_url":"https://avatars1.githubusercontent.com/u/33183529?v=4","gravatar_id":"","url":"https://api.github.com/users/0exp","html_url":"https://github.com/0exp","followers_url":"https://api.github.com/users/0exp/followers","following_url":"https://api.github.com/users/0exp/following{/other_user}","gists_url":"https://api.github.com/users/0exp/gists{/gist_id}","starred_url":"https://api.github.com/users/0exp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0exp/subscriptions","organizations_url":"https://api.github.com/users/0exp/orgs","repos_url":"https://api.github.com/users/0exp/repos","events_url":"https://api.github.com/users/0exp/events{/privacy}","received_events_url":"https://api.github.com/users/0exp/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":9,"state":"open","created_at":"2018-03-08T20:34:01Z","updated_at":"2018-04-21T20:16:06Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/0exp/evil_events/pulls/43/commits","review_comments_url":"https://api.github.com/repos/0exp/evil_events/pulls/43/comments","review_comment_url":"https://api.github.com/repos/0exp/evil_events/pulls/comments{/number}","comments_url":"https://api.github.com/repos/0exp/evil_events/issues/43/comments","statuses_url":"https://api.github.com/repos/0exp/evil_events/statuses/d87c36141c7a4c6d86409b7f85f5ccc8887233a7","head":{"label":"0exp:feature/message-pack-serialization","ref":"feature/message-pack-serialization","sha":"d87c36141c7a4c6d86409b7f85f5ccc8887233a7","user":{"login":"0exp","id":33183529,"avatar_url":"https://avatars1.githubusercontent.com/u/33183529?v=4","gravatar_id":"","url":"https://api.github.com/users/0exp","html_url":"https://github.com/0exp","followers_url":"https://api.github.com/users/0exp/followers","following_url":"https://api.github.com/users/0exp/following{/other_user}","gists_url":"https://api.github.com/users/0exp/gists{/gist_id}","starred_url":"https://api.github.com/users/0exp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0exp/subscriptions","organizations_url":"https://api.github.com/users/0exp/orgs","repos_url":"https://api.github.com/users/0exp/repos","events_url":"https://api.github.com/users/0exp/events{/privacy}","received_events_url":"https://api.github.com/users/0exp/received_events","type":"User","site_admin":false},"repo":{"id":108770001,"name":"evil_events","full_name":"0exp/evil_events","owner":{"login":"0exp","id":33183529,"avatar_url":"https://avatars1.githubusercontent.com/u/33183529?v=4","gravatar_id":"","url":"https://api.github.com/users/0exp","html_url":"https://github.com/0exp","followers_url":"https://api.github.com/users/0exp/followers","following_url":"https://api.github.com/users/0exp/following{/other_user}","gists_url":"https://api.github.com/users/0exp/gists{/gist_id}","starred_url":"https://api.github.com/users/0exp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0exp/subscriptions","organizations_url":"https://api.github.com/users/0exp/orgs","repos_url":"https://api.github.com/users/0exp/repos","events_url":"https://api.github.com/users/0exp/events{/privacy}","received_events_url":"https://api.github.com/users/0exp/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/0exp/evil_events","description":"Ultra simple, but very flexible and fully customizable event subsystem for ruby applications with a wide set of customization interfaces and smart event definition DSL.","fork":false,"url":"https://api.github.com/repos/0exp/evil_events","forks_url":"https://api.github.com/repos/0exp/evil_events/forks","keys_url":"https://api.github.com/repos/0exp/evil_events/keys{/key_id}","collaborators_url":"https://api.github.com/repos/0exp/evil_events/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/0exp/evil_events/teams","hooks_url":"https://api.github.com/repos/0exp/evil_events/hooks","issue_events_url":"https://api.github.com/repos/0exp/evil_events/issues/events{/number}","events_url":"https://api.github.com/repos/0exp/evil_events/events","assignees_url":"https://api.github.com/repos/0exp/evil_events/assignees{/user}","branches_url":"https://api.github.com/repos/0exp/evil_events/branches{/branch}","tags_url":"https://api.github.com/repos/0exp/evil_events/tags","blobs_url":"https://api.github.com/repos/0exp/evil_events/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/0exp/evil_events/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/0exp/evil_events/git/refs{/sha}","trees_url":"https://api.github.com/repos/0exp/evil_events/git/trees{/sha}","statuses_url":"https://api.github.com/repos/0exp/evil_events/statuses/{sha}","languages_url":"https://api.github.com/repos/0exp/evil_events/languages","stargazers_url":"https://api.github.com/repos/0exp/evil_events/stargazers","contributors_url":"https://api.github.com/repos/0exp/evil_events/contributors","subscribers_url":"https://api.github.com/repos/0exp/evil_events/subscribers","subscription_url":"https://api.github.com/repos/0exp/evil_events/subscription","commits_url":"https://api.github.com/repos/0exp/evil_events/commits{/sha}","git_commits_url":"https://api.github.com/repos/0exp/evil_events/git/commits{/sha}","comments_url":"https://api.github.com/repos/0exp/evil_events/comments{/number}","issue_comment_url":"https://api.github.com/repos/0exp/evil_events/issues/comments{/number}","contents_url":"https://api.github.com/repos/0exp/evil_events/contents/{+path}","compare_url":"https://api.github.com/repos/0exp/evil_events/compare/{base}...{head}","merges_url":"https://api.github.com/repos/0exp/evil_events/merges","archive_url":"https://api.github.com/repos/0exp/evil_events/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/0exp/evil_events/downloads","issues_url":"https://api.github.com/repos/0exp/evil_events/issues{/number}","pulls_url":"https://api.github.com/repos/0exp/evil_events/pulls{/number}","milestones_url":"https://api.github.com/repos/0exp/evil_events/milestones{/number}","notifications_url":"https://api.github.com/repos/0exp/evil_events/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/0exp/evil_events/labels{/name}","releases_url":"https://api.github.com/repos/0exp/evil_events/releases{/id}","deployments_url":"https://api.github.com/repos/0exp/evil_events/deployments","created_at":"2017-10-29T20:47:20Z","updated_at":"2018-04-17T14:03:20Z","pushed_at":"2018-04-21T20:16:06Z","git_url":"git://github.com/0exp/evil_events.git","ssh_url":"git@github.com:0exp/evil_events.git","clone_url":"https://github.com/0exp/evil_events.git","svn_url":"https://github.com/0exp/evil_events","homepage":null,"size":264,"stargazers_count":5,"watchers_count":5,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":3,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":3,"watchers":5,"default_branch":"master"}},"base":{"label":"0exp:development","ref":"development","sha":"01fac51c3c01dc2542c98425e51237f9f85f9f33","user":{"login":"0exp","id":33183529,"avatar_url":"https://avatars1.githubusercontent.com/u/33183529?v=4","gravatar_id":"","url":"https://api.github.com/users/0exp","html_url":"https://github.com/0exp","followers_url":"https://api.github.com/users/0exp/followers","following_url":"https://api.github.com/users/0exp/following{/other_user}","gists_url":"https://api.github.com/users/0exp/gists{/gist_id}","starred_url":"https://api.github.com/users/0exp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0exp/subscriptions","organizations_url":"https://api.github.com/users/0exp/orgs","repos_url":"https://api.github.com/users/0exp/repos","events_url":"https://api.github.com/users/0exp/events{/privacy}","received_events_url":"https://api.github.com/users/0exp/received_events","type":"User","site_admin":false},"repo":{"id":108770001,"name":"evil_events","full_name":"0exp/evil_events","owner":{"login":"0exp","id":33183529,"avatar_url":"https://avatars1.githubusercontent.com/u/33183529?v=4","gravatar_id":"","url":"https://api.github.com/users/0exp","html_url":"https://github.com/0exp","followers_url":"https://api.github.com/users/0exp/followers","following_url":"https://api.github.com/users/0exp/following{/other_user}","gists_url":"https://api.github.com/users/0exp/gists{/gist_id}","starred_url":"https://api.github.com/users/0exp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0exp/subscriptions","organizations_url":"https://api.github.com/users/0exp/orgs","repos_url":"https://api.github.com/users/0exp/repos","events_url":"https://api.github.com/users/0exp/events{/privacy}","received_events_url":"https://api.github.com/users/0exp/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/0exp/evil_events","description":"Ultra simple, but very flexible and fully customizable event subsystem for ruby applications with a wide set of customization interfaces and smart event definition DSL.","fork":false,"url":"https://api.github.com/repos/0exp/evil_events","forks_url":"https://api.github.com/repos/0exp/evil_events/forks","keys_url":"https://api.github.com/repos/0exp/evil_events/keys{/key_id}","collaborators_url":"https://api.github.com/repos/0exp/evil_events/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/0exp/evil_events/teams","hooks_url":"https://api.github.com/repos/0exp/evil_events/hooks","issue_events_url":"https://api.github.com/repos/0exp/evil_events/issues/events{/number}","events_url":"https://api.github.com/repos/0exp/evil_events/events","assignees_url":"https://api.github.com/repos/0exp/evil_events/assignees{/user}","branches_url":"https://api.github.com/repos/0exp/evil_events/branches{/branch}","tags_url":"https://api.github.com/repos/0exp/evil_events/tags","blobs_url":"https://api.github.com/repos/0exp/evil_events/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/0exp/evil_events/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/0exp/evil_events/git/refs{/sha}","trees_url":"https://api.github.com/repos/0exp/evil_events/git/trees{/sha}","statuses_url":"https://api.github.com/repos/0exp/evil_events/statuses/{sha}","languages_url":"https://api.github.com/repos/0exp/evil_events/languages","stargazers_url":"https://api.github.com/repos/0exp/evil_events/stargazers","contributors_url":"https://api.github.com/repos/0exp/evil_events/contributors","subscribers_url":"https://api.github.com/repos/0exp/evil_events/subscribers","subscription_url":"https://api.github.com/repos/0exp/evil_events/subscription","commits_url":"https://api.github.com/repos/0exp/evil_events/commits{/sha}","git_commits_url":"https://api.github.com/repos/0exp/evil_events/git/commits{/sha}","comments_url":"https://api.github.com/repos/0exp/evil_events/comments{/number}","issue_comment_url":"https://api.github.com/repos/0exp/evil_events/issues/comments{/number}","contents_url":"https://api.github.com/repos/0exp/evil_events/contents/{+path}","compare_url":"https://api.github.com/repos/0exp/evil_events/compare/{base}...{head}","merges_url":"https://api.github.com/repos/0exp/evil_events/merges","archive_url":"https://api.github.com/repos/0exp/evil_events/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/0exp/evil_events/downloads","issues_url":"https://api.github.com/repos/0exp/evil_events/issues{/number}","pulls_url":"https://api.github.com/repos/0exp/evil_events/pulls{/number}","milestones_url":"https://api.github.com/repos/0exp/evil_events/milestones{/number}","notifications_url":"https://api.github.com/repos/0exp/evil_events/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/0exp/evil_events/labels{/name}","releases_url":"https://api.github.com/repos/0exp/evil_events/releases{/id}","deployments_url":"https://api.github.com/repos/0exp/evil_events/deployments","created_at":"2017-10-29T20:47:20Z","updated_at":"2018-04-17T14:03:20Z","pushed_at":"2018-04-21T20:16:06Z","git_url":"git://github.com/0exp/evil_events.git","ssh_url":"git@github.com:0exp/evil_events.git","clone_url":"https://github.com/0exp/evil_events.git","svn_url":"https://github.com/0exp/evil_events","homepage":null,"size":264,"stargazers_count":5,"watchers_count":5,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":3,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":1,"open_issues":3,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/0exp/evil_events/pulls/43"},"html":{"href":"https://github.com/0exp/evil_events/pull/43"},"issue":{"href":"https://api.github.com/repos/0exp/evil_events/issues/43"},"comments":{"href":"https://api.github.com/repos/0exp/evil_events/issues/43/comments"},"review_comments":{"href":"https://api.github.com/repos/0exp/evil_events/pulls/43/comments"},"review_comment":{"href":"https://api.github.com/repos/0exp/evil_events/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/0exp/evil_events/pulls/43/commits"},"statuses":{"href":"https://api.github.com/repos/0exp/evil_events/statuses/d87c36141c7a4c6d86409b7f85f5ccc8887233a7"}},"author_association":"OWNER"}}
{"actor":{"display_login":"houndci-bot"}}