{"action":"created","comment":{"url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/comments/40023906","id":40023906,"diff_hunk":"@@ -0,0 +1,12 @@\n+﻿namespace kOS.Safe.Exceptions\n+{\n+    public class KOSKeyNotFoundException : KOSException\n+    {\n+        private const string MSG = \"The given key {0} was not present, use CONTAINS for checking safety. This is a case {1} collection\";\n+\n+        public KOSKeyNotFoundException(string key, bool caseSensitive) : base(string.Format(MSG, key, caseSensitive ? \"insensitive\" : \"sensitive\"))","path":"src/kOS.Safe/Exceptions/KOSKeyNotFoundException.cs","position":null,"original_position":7,"commit_id":"34b1cf9b6bd93dbc8227f4384fde0c62a0d1f6bb","original_commit_id":"e8b588480274f7f9e5bbdd1af5c4a823bd749fa1","user":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"body":"that sounds good to me. done","created_at":"2015-09-21T20:49:33Z","updated_at":"2015-09-21T20:49:33Z","html_url":"https://github.com/KSP-KOS/KOS/pull/1049#discussion_r40023906","pull_request_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/1049","_links":{"self":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/comments/40023906"},"html":{"href":"https://github.com/KSP-KOS/KOS/pull/1049#discussion_r40023906"},"pull_request":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/1049"}}},"pull_request":{"url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/1049","id":36154024,"html_url":"https://github.com/KSP-KOS/KOS/pull/1049","diff_url":"https://github.com/KSP-KOS/KOS/pull/1049.diff","patch_url":"https://github.com/KSP-KOS/KOS/pull/1049.patch","issue_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/1049","number":1049,"state":"open","locked":false,"title":" Assoc array","user":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"body":"This PR is a big one :P which is too bad it contains the following major parts which if i had thought about ahead of time, i would have done with multiple PRs\r\n\r\n* changed the existing `LIST:DUMP` implementation to be interface based. so we could have multiple collection types, this also ditched the reflection strategy that we have been using. This has some risk but with the unit tests @Dunbaratu added previously it was pretty painless.\r\n\r\n* Adding a new associative array collection that is talked about over here #963\r\n\r\nthere are pending tasks to merging this, chief among these are user docs and in game test scripts. I just wanted to get some feedback from the group and maybe some testing :)\r\n","created_at":"2015-05-25T19:08:07Z","updated_at":"2015-09-21T20:49:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8915eade3258b89de40f000e205a97fe207c5ea9","assignee":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/KSP-KOS/KOS/milestones/17","html_url":"https://github.com/KSP-KOS/KOS/milestones/Pre%201.1%20Release","labels_url":"https://api.github.com/repos/KSP-KOS/KOS/milestones/17/labels","id":1296709,"number":17,"title":"Pre 1.1 Release","description":"This is a omnibus update for all of the stuff we want to start testing and releasing before KSP 1.1 drops.","creator":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"open_issues":31,"closed_issues":19,"state":"open","created_at":"2015-09-08T22:21:41Z","updated_at":"2015-09-16T17:47:23Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/1049/commits","review_comments_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/1049/comments","review_comment_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls/comments{/number}","comments_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/1049/comments","statuses_url":"https://api.github.com/repos/KSP-KOS/KOS/statuses/34b1cf9b6bd93dbc8227f4384fde0c62a0d1f6bb","head":{"label":"erendrake:assoc_array","ref":"assoc_array","sha":"34b1cf9b6bd93dbc8227f4384fde0c62a0d1f6bb","user":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"repo":{"id":33429841,"name":"KOS","full_name":"erendrake/KOS","owner":{"login":"erendrake","id":486486,"avatar_url":"https://avatars.githubusercontent.com/u/486486?v=3","gravatar_id":"","url":"https://api.github.com/users/erendrake","html_url":"https://github.com/erendrake","followers_url":"https://api.github.com/users/erendrake/followers","following_url":"https://api.github.com/users/erendrake/following{/other_user}","gists_url":"https://api.github.com/users/erendrake/gists{/gist_id}","starred_url":"https://api.github.com/users/erendrake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erendrake/subscriptions","organizations_url":"https://api.github.com/users/erendrake/orgs","repos_url":"https://api.github.com/users/erendrake/repos","events_url":"https://api.github.com/users/erendrake/events{/privacy}","received_events_url":"https://api.github.com/users/erendrake/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/erendrake/KOS","description":"Fully programmable autopilot mod for KSP. Originally By Nivekk","fork":true,"url":"https://api.github.com/repos/erendrake/KOS","forks_url":"https://api.github.com/repos/erendrake/KOS/forks","keys_url":"https://api.github.com/repos/erendrake/KOS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/erendrake/KOS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/erendrake/KOS/teams","hooks_url":"https://api.github.com/repos/erendrake/KOS/hooks","issue_events_url":"https://api.github.com/repos/erendrake/KOS/issues/events{/number}","events_url":"https://api.github.com/repos/erendrake/KOS/events","assignees_url":"https://api.github.com/repos/erendrake/KOS/assignees{/user}","branches_url":"https://api.github.com/repos/erendrake/KOS/branches{/branch}","tags_url":"https://api.github.com/repos/erendrake/KOS/tags","blobs_url":"https://api.github.com/repos/erendrake/KOS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/erendrake/KOS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/erendrake/KOS/git/refs{/sha}","trees_url":"https://api.github.com/repos/erendrake/KOS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/erendrake/KOS/statuses/{sha}","languages_url":"https://api.github.com/repos/erendrake/KOS/languages","stargazers_url":"https://api.github.com/repos/erendrake/KOS/stargazers","contributors_url":"https://api.github.com/repos/erendrake/KOS/contributors","subscribers_url":"https://api.github.com/repos/erendrake/KOS/subscribers","subscription_url":"https://api.github.com/repos/erendrake/KOS/subscription","commits_url":"https://api.github.com/repos/erendrake/KOS/commits{/sha}","git_commits_url":"https://api.github.com/repos/erendrake/KOS/git/commits{/sha}","comments_url":"https://api.github.com/repos/erendrake/KOS/comments{/number}","issue_comment_url":"https://api.github.com/repos/erendrake/KOS/issues/comments{/number}","contents_url":"https://api.github.com/repos/erendrake/KOS/contents/{+path}","compare_url":"https://api.github.com/repos/erendrake/KOS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/erendrake/KOS/merges","archive_url":"https://api.github.com/repos/erendrake/KOS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/erendrake/KOS/downloads","issues_url":"https://api.github.com/repos/erendrake/KOS/issues{/number}","pulls_url":"https://api.github.com/repos/erendrake/KOS/pulls{/number}","milestones_url":"https://api.github.com/repos/erendrake/KOS/milestones{/number}","notifications_url":"https://api.github.com/repos/erendrake/KOS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/erendrake/KOS/labels{/name}","releases_url":"https://api.github.com/repos/erendrake/KOS/releases{/id}","created_at":"2015-04-05T04:07:02Z","updated_at":"2015-04-14T21:19:34Z","pushed_at":"2015-09-21T20:49:25Z","git_url":"git://github.com/erendrake/KOS.git","ssh_url":"git@github.com:erendrake/KOS.git","clone_url":"https://github.com/erendrake/KOS.git","svn_url":"https://github.com/erendrake/KOS","homepage":null,"size":43115,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"KSP-KOS:develop","ref":"develop","sha":"d0a7b9c836bc913987be33d0ffd481aa814c5aca","user":{"login":"KSP-KOS","id":6767371,"avatar_url":"https://avatars.githubusercontent.com/u/6767371?v=3","gravatar_id":"","url":"https://api.github.com/users/KSP-KOS","html_url":"https://github.com/KSP-KOS","followers_url":"https://api.github.com/users/KSP-KOS/followers","following_url":"https://api.github.com/users/KSP-KOS/following{/other_user}","gists_url":"https://api.github.com/users/KSP-KOS/gists{/gist_id}","starred_url":"https://api.github.com/users/KSP-KOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KSP-KOS/subscriptions","organizations_url":"https://api.github.com/users/KSP-KOS/orgs","repos_url":"https://api.github.com/users/KSP-KOS/repos","events_url":"https://api.github.com/users/KSP-KOS/events{/privacy}","received_events_url":"https://api.github.com/users/KSP-KOS/received_events","type":"Organization","site_admin":false},"repo":{"id":17217530,"name":"KOS","full_name":"KSP-KOS/KOS","owner":{"login":"KSP-KOS","id":6767371,"avatar_url":"https://avatars.githubusercontent.com/u/6767371?v=3","gravatar_id":"","url":"https://api.github.com/users/KSP-KOS","html_url":"https://github.com/KSP-KOS","followers_url":"https://api.github.com/users/KSP-KOS/followers","following_url":"https://api.github.com/users/KSP-KOS/following{/other_user}","gists_url":"https://api.github.com/users/KSP-KOS/gists{/gist_id}","starred_url":"https://api.github.com/users/KSP-KOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KSP-KOS/subscriptions","organizations_url":"https://api.github.com/users/KSP-KOS/orgs","repos_url":"https://api.github.com/users/KSP-KOS/repos","events_url":"https://api.github.com/users/KSP-KOS/events{/privacy}","received_events_url":"https://api.github.com/users/KSP-KOS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/KSP-KOS/KOS","description":"Fully programmable autopilot mod for KSP. Originally By Nivekk","fork":false,"url":"https://api.github.com/repos/KSP-KOS/KOS","forks_url":"https://api.github.com/repos/KSP-KOS/KOS/forks","keys_url":"https://api.github.com/repos/KSP-KOS/KOS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KSP-KOS/KOS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KSP-KOS/KOS/teams","hooks_url":"https://api.github.com/repos/KSP-KOS/KOS/hooks","issue_events_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/events{/number}","events_url":"https://api.github.com/repos/KSP-KOS/KOS/events","assignees_url":"https://api.github.com/repos/KSP-KOS/KOS/assignees{/user}","branches_url":"https://api.github.com/repos/KSP-KOS/KOS/branches{/branch}","tags_url":"https://api.github.com/repos/KSP-KOS/KOS/tags","blobs_url":"https://api.github.com/repos/KSP-KOS/KOS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KSP-KOS/KOS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KSP-KOS/KOS/git/refs{/sha}","trees_url":"https://api.github.com/repos/KSP-KOS/KOS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KSP-KOS/KOS/statuses/{sha}","languages_url":"https://api.github.com/repos/KSP-KOS/KOS/languages","stargazers_url":"https://api.github.com/repos/KSP-KOS/KOS/stargazers","contributors_url":"https://api.github.com/repos/KSP-KOS/KOS/contributors","subscribers_url":"https://api.github.com/repos/KSP-KOS/KOS/subscribers","subscription_url":"https://api.github.com/repos/KSP-KOS/KOS/subscription","commits_url":"https://api.github.com/repos/KSP-KOS/KOS/commits{/sha}","git_commits_url":"https://api.github.com/repos/KSP-KOS/KOS/git/commits{/sha}","comments_url":"https://api.github.com/repos/KSP-KOS/KOS/comments{/number}","issue_comment_url":"https://api.github.com/repos/KSP-KOS/KOS/issues/comments{/number}","contents_url":"https://api.github.com/repos/KSP-KOS/KOS/contents/{+path}","compare_url":"https://api.github.com/repos/KSP-KOS/KOS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KSP-KOS/KOS/merges","archive_url":"https://api.github.com/repos/KSP-KOS/KOS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KSP-KOS/KOS/downloads","issues_url":"https://api.github.com/repos/KSP-KOS/KOS/issues{/number}","pulls_url":"https://api.github.com/repos/KSP-KOS/KOS/pulls{/number}","milestones_url":"https://api.github.com/repos/KSP-KOS/KOS/milestones{/number}","notifications_url":"https://api.github.com/repos/KSP-KOS/KOS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KSP-KOS/KOS/labels{/name}","releases_url":"https://api.github.com/repos/KSP-KOS/KOS/releases{/id}","created_at":"2014-02-26T16:43:31Z","updated_at":"2015-09-19T19:58:41Z","pushed_at":"2015-09-21T20:49:26Z","git_url":"git://github.com/KSP-KOS/KOS.git","ssh_url":"git@github.com:KSP-KOS/KOS.git","clone_url":"https://github.com/KSP-KOS/KOS.git","svn_url":"https://github.com/KSP-KOS/KOS","homepage":null,"size":49582,"stargazers_count":154,"watchers_count":154,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":73,"mirror_url":null,"open_issues_count":226,"forks":73,"open_issues":226,"watchers":154,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/1049"},"html":{"href":"https://github.com/KSP-KOS/KOS/pull/1049"},"issue":{"href":"https://api.github.com/repos/KSP-KOS/KOS/issues/1049"},"comments":{"href":"https://api.github.com/repos/KSP-KOS/KOS/issues/1049/comments"},"review_comments":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/1049/comments"},"review_comment":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/KSP-KOS/KOS/pulls/1049/commits"},"statuses":{"href":"https://api.github.com/repos/KSP-KOS/KOS/statuses/34b1cf9b6bd93dbc8227f4384fde0c62a0d1f6bb"}}}}