{"action":"created","comment":{"url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/comments/320104519","pull_request_review_id":282778415,"id":320104519,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMyMDEwNDUxOQ==","diff_hunk":"@@ -1,10 +1,277 @@\n+import java.util.Scanner;\n+import java.time.format.DateTimeParseException;\n+import java.util.ArrayList;\n+import java.util.List;\n+import java.util.Arrays;\n+import java.util.NoSuchElementException;\n+\n+import java.io.FileReader;\n+import java.io.FileWriter;\n+import java.io.IOException;\n+import java.io.BufferedWriter;\n+import java.io.FileNotFoundException;\n+\n public class Duke {\n     public static void main(String[] args) {\n-        String logo = \" ____        _        \\n\"\n-                + \"|  _ \\\\ _   _| | _____ \\n\"\n-                + \"| | | | | | | |/ / _ \\\\\\n\"\n-                + \"| |_| | |_| |   <  __/\\n\"\n-                + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";\n-        System.out.println(\"Hello from\\n\" + logo);\n+        // System.out.println(\"Hello from\\n\" + logo);\n+        Duke d = new Duke();\n+        d.loadTasks();\n+        d.greeting();\n+        d.listen();\n+    }\n+\n+    private static final String SAVE_LOCATION = new String(\"data.txt\");\n+\n+    private Duke() {}\n+\n+    private void greeting() {\n+        String logo =\n+            \" ____        _        \\n\"\n+            + \"|  _ \\\\ _   _| | _____ \\n\"\n+            + \"| | | | | | | |/ / _ \\\\\\n\"\n+            + \"| |_| | |_| |   <  __/\\n\"\n+            + \"|____/ \\\\__,_|_|\\\\_\\\\___|\\n\";\n+        System.out.println(logo);\n+        System.out.println(\"Hello! I'm Duke\");\n+    }\n+\n+    private ArrayList<Task> cache = new ArrayList<>();\n+\n+    private void listen() {\n+        Scanner listener = new Scanner(System.in);\n+        while(listener.hasNext()) {\n+            String line = listener.nextLine();\n+            if (line.equals(\"bye\")) {\n+                System.out.println(\"Bye. Hope to see you again!\");\n+                saveTasks();\n+                break;\n+            } else if (line.equals(\"list\")) {\n+                showList();\n+            } else {\n+                handleTask(line);                \n+            }\n+            saveTasks();\n+        }\n+        listener.close();\n+    }\n+    \n+    private void loadTasks() {\n+        // load tasks from SAVE_LOCATION into the arraylist of tasks, cache.\n+        try {\n+            Scanner sc = new Scanner(new FileReader(SAVE_LOCATION));\n+            while (sc.hasNext()) {\n+                System.out.println(\"reading...\");\n+                try {\n+                    Task t = parseTask(sc.nextLine());\n+                    cache.add(t);\n+                } catch (InvalidFormatException e) {\n+                    System.out.println(e.message);\n+                }\n+            }\n+            sc.close();\n+        } catch (FileNotFoundException e) {\n+            System.out.println(\"Wow. First time to Duke?\");\n+            return;\n+        } \n+        System.out.println(cache);\n+    }\n+\n+    private Task parseTask(String line) throws InvalidFormatException {\n+        // format: \" [T|D|E] | [0|1] | desc | [by|at] \"\n+        String[] parts = line.split(\"\\\\|\");\n+        for(int i=0; i< parts.length; i++) {\n+            parts[i] = parts[i].trim();\n+        }\n+        System.out.printf(\"length of splitted is %d \\n\", parts.length);\n+        if (parts.length < 3 || parts.length > 4) throw new InvalidFormatException(line);\n+        String type = parts[0];\n+        boolean done = parts[1].equals(\"1\");\n+        String desc = parts[2];\n+        Task t = new Task(done, desc);\n+        switch (type) {\n+            case \"T\":\n+                t = new ToDo(done, desc);\n+                break;\n+            case \"D\":\n+                t = new Deadline(done, desc, parts[3]);\n+                break;\n+            case \"E\":\n+                t = new Event(done, desc, parts[3]);\n+        }\n+        return t;\n+    }\n+\n+    private void saveTasks() {\n+        // horrible design: rewrite the file at SAVE_LOCATION with the cache\n+        try {\n+            FileWriter fw = new FileWriter(SAVE_LOCATION);\n+            BufferedWriter bw = new BufferedWriter(fw);\n+\n+            for (Task t: cache) {\n+                bw.write(t.saveFormat());\n+            }\n+\n+            bw.close();\n+        } catch (IOException e) {\n+            System.out.println(\"Oh no!! Couldn't save for some reason.\");\n+            e.printStackTrace();\n+        }\n+\n+    }\n+\n+    private void handleTask(String line) {\n+        // something else: help message\n+        // done <number>\n+        // todo <desc>\n+        // deadline <desc> /by <time>\n+        // event desc /at <time>\n+\n+        Scanner wordReader = new Scanner(line);\n+        String command = wordReader.next();\n+        try{\n+            switch (command) {\n+                case \"done\":\n+                    handleDone(wordReader.nextLine());\n+                    break;\n+                case \"todo\":\n+                    handleToDo(wordReader.nextLine());\n+                    break;\n+                case \"deadline\":\n+                    handleDeadline(wordReader.nextLine());\n+                    break;\n+                case \"event\":\n+                    handleEvent(wordReader.nextLine());\n+                    break;\n+                case \"delete\":\n+                    handleDelete(wordReader.nextLine());\n+                    break;\n+                default:\n+                    printHelpMessage();\n+                    break;\n+            }\n+        } catch (NoSuchElementException e) {\n+            System.out.println(\"A command must be followed by one or more arguments! Type 'help' for more help\");\n+            banner();\n+        }\n+    }\n+\n+    private void printHelpMessage() {","path":"src/main/java/Duke.java","position":164,"original_position":164,"commit_id":"c7fa84f96513674783e31184a1b0999d45bea24c","original_commit_id":"c7fa84f96513674783e31184a1b0999d45bea24c","user":{"login":"uberSaiyan","id":38805490,"node_id":"MDQ6VXNlcjM4ODA1NDkw","avatar_url":"https://avatars2.githubusercontent.com/u/38805490?v=4","gravatar_id":"","url":"https://api.github.com/users/uberSaiyan","html_url":"https://github.com/uberSaiyan","followers_url":"https://api.github.com/users/uberSaiyan/followers","following_url":"https://api.github.com/users/uberSaiyan/following{/other_user}","gists_url":"https://api.github.com/users/uberSaiyan/gists{/gist_id}","starred_url":"https://api.github.com/users/uberSaiyan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/uberSaiyan/subscriptions","organizations_url":"https://api.github.com/users/uberSaiyan/orgs","repos_url":"https://api.github.com/users/uberSaiyan/repos","events_url":"https://api.github.com/users/uberSaiyan/events{/privacy}","received_events_url":"https://api.github.com/users/uberSaiyan/received_events","type":"User","site_admin":false},"body":"I like this!","created_at":"2019-09-03T06:18:46Z","updated_at":"2019-09-03T06:18:46Z","html_url":"https://github.com/nus-cs2103-AY1920S1/duke/pull/313#discussion_r320104519","pull_request_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/313","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/comments/320104519"},"html":{"href":"https://github.com/nus-cs2103-AY1920S1/duke/pull/313#discussion_r320104519"},"pull_request":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/313"}}},"pull_request":{"url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/313","id":312943526,"node_id":"MDExOlB1bGxSZXF1ZXN0MzEyOTQzNTI2","html_url":"https://github.com/nus-cs2103-AY1920S1/duke/pull/313","diff_url":"https://github.com/nus-cs2103-AY1920S1/duke/pull/313.diff","patch_url":"https://github.com/nus-cs2103-AY1920S1/duke/pull/313.patch","issue_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/issues/313","number":313,"state":"open","locked":false,"title":"[Tan Yee Jian] Duke Increments","user":{"login":"SwampertX","id":17807016,"node_id":"MDQ6VXNlcjE3ODA3MDE2","avatar_url":"https://avatars0.githubusercontent.com/u/17807016?v=4","gravatar_id":"","url":"https://api.github.com/users/SwampertX","html_url":"https://github.com/SwampertX","followers_url":"https://api.github.com/users/SwampertX/followers","following_url":"https://api.github.com/users/SwampertX/following{/other_user}","gists_url":"https://api.github.com/users/SwampertX/gists{/gist_id}","starred_url":"https://api.github.com/users/SwampertX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SwampertX/subscriptions","organizations_url":"https://api.github.com/users/SwampertX/orgs","repos_url":"https://api.github.com/users/SwampertX/repos","events_url":"https://api.github.com/users/SwampertX/events{/privacy}","received_events_url":"https://api.github.com/users/SwampertX/received_events","type":"User","site_admin":false},"body":"","created_at":"2019-08-31T09:29:41Z","updated_at":"2019-09-03T06:18:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bae4570260df217c1721f6403a76c0699350b760","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/313/commits","review_comments_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/313/comments","review_comment_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/issues/313/comments","statuses_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/statuses/c7fa84f96513674783e31184a1b0999d45bea24c","head":{"label":"SwampertX:master","ref":"master","sha":"c7fa84f96513674783e31184a1b0999d45bea24c","user":{"login":"SwampertX","id":17807016,"node_id":"MDQ6VXNlcjE3ODA3MDE2","avatar_url":"https://avatars0.githubusercontent.com/u/17807016?v=4","gravatar_id":"","url":"https://api.github.com/users/SwampertX","html_url":"https://github.com/SwampertX","followers_url":"https://api.github.com/users/SwampertX/followers","following_url":"https://api.github.com/users/SwampertX/following{/other_user}","gists_url":"https://api.github.com/users/SwampertX/gists{/gist_id}","starred_url":"https://api.github.com/users/SwampertX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SwampertX/subscriptions","organizations_url":"https://api.github.com/users/SwampertX/orgs","repos_url":"https://api.github.com/users/SwampertX/repos","events_url":"https://api.github.com/users/SwampertX/events{/privacy}","received_events_url":"https://api.github.com/users/SwampertX/received_events","type":"User","site_admin":false},"repo":{"id":203490308,"node_id":"MDEwOlJlcG9zaXRvcnkyMDM0OTAzMDg=","name":"duke","full_name":"SwampertX/duke","private":false,"owner":{"login":"SwampertX","id":17807016,"node_id":"MDQ6VXNlcjE3ODA3MDE2","avatar_url":"https://avatars0.githubusercontent.com/u/17807016?v=4","gravatar_id":"","url":"https://api.github.com/users/SwampertX","html_url":"https://github.com/SwampertX","followers_url":"https://api.github.com/users/SwampertX/followers","following_url":"https://api.github.com/users/SwampertX/following{/other_user}","gists_url":"https://api.github.com/users/SwampertX/gists{/gist_id}","starred_url":"https://api.github.com/users/SwampertX/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SwampertX/subscriptions","organizations_url":"https://api.github.com/users/SwampertX/orgs","repos_url":"https://api.github.com/users/SwampertX/repos","events_url":"https://api.github.com/users/SwampertX/events{/privacy}","received_events_url":"https://api.github.com/users/SwampertX/received_events","type":"User","site_admin":false},"html_url":"https://github.com/SwampertX/duke","description":null,"fork":true,"url":"https://api.github.com/repos/SwampertX/duke","forks_url":"https://api.github.com/repos/SwampertX/duke/forks","keys_url":"https://api.github.com/repos/SwampertX/duke/keys{/key_id}","collaborators_url":"https://api.github.com/repos/SwampertX/duke/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/SwampertX/duke/teams","hooks_url":"https://api.github.com/repos/SwampertX/duke/hooks","issue_events_url":"https://api.github.com/repos/SwampertX/duke/issues/events{/number}","events_url":"https://api.github.com/repos/SwampertX/duke/events","assignees_url":"https://api.github.com/repos/SwampertX/duke/assignees{/user}","branches_url":"https://api.github.com/repos/SwampertX/duke/branches{/branch}","tags_url":"https://api.github.com/repos/SwampertX/duke/tags","blobs_url":"https://api.github.com/repos/SwampertX/duke/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/SwampertX/duke/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/SwampertX/duke/git/refs{/sha}","trees_url":"https://api.github.com/repos/SwampertX/duke/git/trees{/sha}","statuses_url":"https://api.github.com/repos/SwampertX/duke/statuses/{sha}","languages_url":"https://api.github.com/repos/SwampertX/duke/languages","stargazers_url":"https://api.github.com/repos/SwampertX/duke/stargazers","contributors_url":"https://api.github.com/repos/SwampertX/duke/contributors","subscribers_url":"https://api.github.com/repos/SwampertX/duke/subscribers","subscription_url":"https://api.github.com/repos/SwampertX/duke/subscription","commits_url":"https://api.github.com/repos/SwampertX/duke/commits{/sha}","git_commits_url":"https://api.github.com/repos/SwampertX/duke/git/commits{/sha}","comments_url":"https://api.github.com/repos/SwampertX/duke/comments{/number}","issue_comment_url":"https://api.github.com/repos/SwampertX/duke/issues/comments{/number}","contents_url":"https://api.github.com/repos/SwampertX/duke/contents/{+path}","compare_url":"https://api.github.com/repos/SwampertX/duke/compare/{base}...{head}","merges_url":"https://api.github.com/repos/SwampertX/duke/merges","archive_url":"https://api.github.com/repos/SwampertX/duke/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/SwampertX/duke/downloads","issues_url":"https://api.github.com/repos/SwampertX/duke/issues{/number}","pulls_url":"https://api.github.com/repos/SwampertX/duke/pulls{/number}","milestones_url":"https://api.github.com/repos/SwampertX/duke/milestones{/number}","notifications_url":"https://api.github.com/repos/SwampertX/duke/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/SwampertX/duke/labels{/name}","releases_url":"https://api.github.com/repos/SwampertX/duke/releases{/id}","deployments_url":"https://api.github.com/repos/SwampertX/duke/deployments","created_at":"2019-08-21T02:27:21Z","updated_at":"2019-08-28T15:10:20Z","pushed_at":"2019-08-28T15:10:17Z","git_url":"git://github.com/SwampertX/duke.git","ssh_url":"git@github.com:SwampertX/duke.git","clone_url":"https://github.com/SwampertX/duke.git","svn_url":"https://github.com/SwampertX/duke","homepage":null,"size":1394,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1,"license":null,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"nus-cs2103-AY1920S1:master","ref":"master","sha":"baa18a5b60aee205f3593787bac4dc4a98a7687c","user":{"login":"nus-cs2103-AY1920S1","id":50736603,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUwNzM2NjAz","avatar_url":"https://avatars1.githubusercontent.com/u/50736603?v=4","gravatar_id":"","url":"https://api.github.com/users/nus-cs2103-AY1920S1","html_url":"https://github.com/nus-cs2103-AY1920S1","followers_url":"https://api.github.com/users/nus-cs2103-AY1920S1/followers","following_url":"https://api.github.com/users/nus-cs2103-AY1920S1/following{/other_user}","gists_url":"https://api.github.com/users/nus-cs2103-AY1920S1/gists{/gist_id}","starred_url":"https://api.github.com/users/nus-cs2103-AY1920S1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nus-cs2103-AY1920S1/subscriptions","organizations_url":"https://api.github.com/users/nus-cs2103-AY1920S1/orgs","repos_url":"https://api.github.com/users/nus-cs2103-AY1920S1/repos","events_url":"https://api.github.com/users/nus-cs2103-AY1920S1/events{/privacy}","received_events_url":"https://api.github.com/users/nus-cs2103-AY1920S1/received_events","type":"Organization","site_admin":false},"repo":{"id":201842065,"node_id":"MDEwOlJlcG9zaXRvcnkyMDE4NDIwNjU=","name":"duke","full_name":"nus-cs2103-AY1920S1/duke","private":false,"owner":{"login":"nus-cs2103-AY1920S1","id":50736603,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUwNzM2NjAz","avatar_url":"https://avatars1.githubusercontent.com/u/50736603?v=4","gravatar_id":"","url":"https://api.github.com/users/nus-cs2103-AY1920S1","html_url":"https://github.com/nus-cs2103-AY1920S1","followers_url":"https://api.github.com/users/nus-cs2103-AY1920S1/followers","following_url":"https://api.github.com/users/nus-cs2103-AY1920S1/following{/other_user}","gists_url":"https://api.github.com/users/nus-cs2103-AY1920S1/gists{/gist_id}","starred_url":"https://api.github.com/users/nus-cs2103-AY1920S1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nus-cs2103-AY1920S1/subscriptions","organizations_url":"https://api.github.com/users/nus-cs2103-AY1920S1/orgs","repos_url":"https://api.github.com/users/nus-cs2103-AY1920S1/repos","events_url":"https://api.github.com/users/nus-cs2103-AY1920S1/events{/privacy}","received_events_url":"https://api.github.com/users/nus-cs2103-AY1920S1/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nus-cs2103-AY1920S1/duke","description":null,"fork":false,"url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke","forks_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/forks","keys_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/teams","hooks_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/hooks","issue_events_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/issues/events{/number}","events_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/events","assignees_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/assignees{/user}","branches_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/branches{/branch}","tags_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/tags","blobs_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/git/refs{/sha}","trees_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/statuses/{sha}","languages_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/languages","stargazers_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/stargazers","contributors_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/contributors","subscribers_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/subscribers","subscription_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/subscription","commits_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/commits{/sha}","git_commits_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/git/commits{/sha}","comments_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/comments{/number}","issue_comment_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/issues/comments{/number}","contents_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/contents/{+path}","compare_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/merges","archive_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/downloads","issues_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/issues{/number}","pulls_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls{/number}","milestones_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/milestones{/number}","notifications_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/labels{/name}","releases_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/releases{/id}","deployments_url":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/deployments","created_at":"2019-08-12T02:18:25Z","updated_at":"2019-09-02T17:33:43Z","pushed_at":"2019-09-03T06:00:51Z","git_url":"git://github.com/nus-cs2103-AY1920S1/duke.git","ssh_url":"git@github.com:nus-cs2103-AY1920S1/duke.git","clone_url":"https://github.com/nus-cs2103-AY1920S1/duke.git","svn_url":"https://github.com/nus-cs2103-AY1920S1/duke","homepage":null,"size":1380,"stargazers_count":3,"watchers_count":3,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":339,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":322,"license":null,"forks":339,"open_issues":322,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/313"},"html":{"href":"https://github.com/nus-cs2103-AY1920S1/duke/pull/313"},"issue":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/issues/313"},"comments":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/issues/313/comments"},"review_comments":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/313/comments"},"review_comment":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/pulls/313/commits"},"statuses":{"href":"https://api.github.com/repos/nus-cs2103-AY1920S1/duke/statuses/c7fa84f96513674783e31184a1b0999d45bea24c"}},"author_association":"NONE"}}
{"actor":{"display_login":"uberSaiyan"}}