{"action":"created","comment":{"url":"https://api.github.com/repos/jakecraige/Secrets/pulls/comments/40489463","id":40489463,"diff_hunk":"@@ -1,6 +1,69 @@\n-struct Keys {\n-    struct Parse {\n-        static let applicationId = \"\"\n-        static let clientKey = \"\"\n+/**\n+    map a function over an optional value\n+    - If the value is `.None`, the function will not be evaluated and this will return `.None`\n+    - If the value is `.Some`, the function will be applied to the unwrapped value\n+    - parameter f: A transformation function from type `T` to type `U`\n+    - parameter a: A value of type `Optional<T>`\n+    - returns: A value of type `Optional<U>`\n+*/\n+public func <^> <T, U>(@noescape f: T -> U, a: T?) -> U? {\n+    return a.map(f)\n+}\n+\n+/**\n+    apply an optional function to an optional value\n+    - If either the value or the function are `.None`, the function will not be evaluated and this will return `.None`\n+    - If both the value and the function are `.Some`, the function will be applied to the unwrapped value\n+    - parameter f: An optional transformation function from type `T` to type `U`\n+    - parameter a: A value of type `Optional<T>`\n+    - returns: A value of type `Optional<U>`\n+*/\n+public func <*> <T, U>(f: (T -> U)?, a: T?) -> U? {\n+    return a.apply(f)\n+}\n+\n+/**\n+    flatMap a function over an optional value (left associative)\n+    - If the value is `.None`, the function will not be evaluated and this will return `.None`","path":"Secrets/KeysExample.swift","position":31,"original_position":31,"commit_id":"84c711eea269507827138ea9548c7713b9e21676","original_commit_id":"84c711eea269507827138ea9548c7713b9e21676","user":{"login":"jakecraige","id":3799709,"avatar_url":"https://avatars.githubusercontent.com/u/3799709?v=3","gravatar_id":"","url":"https://api.github.com/users/jakecraige","html_url":"https://github.com/jakecraige","followers_url":"https://api.github.com/users/jakecraige/followers","following_url":"https://api.github.com/users/jakecraige/following{/other_user}","gists_url":"https://api.github.com/users/jakecraige/gists{/gist_id}","starred_url":"https://api.github.com/users/jakecraige/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakecraige/subscriptions","organizations_url":"https://api.github.com/users/jakecraige/orgs","repos_url":"https://api.github.com/users/jakecraige/repos","events_url":"https://api.github.com/users/jakecraige/events{/privacy}","received_events_url":"https://api.github.com/users/jakecraige/received_events","type":"User","site_admin":false},"body":"Trailing Whitespace Violation: Line #27 should have no trailing whitespace","created_at":"2015-09-26T02:53:00Z","updated_at":"2015-09-26T02:53:00Z","html_url":"https://github.com/jakecraige/Secrets/pull/3#discussion_r40489463","pull_request_url":"https://api.github.com/repos/jakecraige/Secrets/pulls/3","_links":{"self":{"href":"https://api.github.com/repos/jakecraige/Secrets/pulls/comments/40489463"},"html":{"href":"https://github.com/jakecraige/Secrets/pull/3#discussion_r40489463"},"pull_request":{"href":"https://api.github.com/repos/jakecraige/Secrets/pulls/3"}}},"pull_request":{"url":"https://api.github.com/repos/jakecraige/Secrets/pulls/3","id":43679140,"html_url":"https://github.com/jakecraige/Secrets/pull/3","diff_url":"https://github.com/jakecraige/Secrets/pull/3.diff","patch_url":"https://github.com/jakecraige/Secrets/pull/3.patch","issue_url":"https://api.github.com/repos/jakecraige/Secrets/issues/3","number":3,"state":"open","locked":false,"title":"Enable swift linting via hound","user":{"login":"jakecraige","id":3799709,"avatar_url":"https://avatars.githubusercontent.com/u/3799709?v=3","gravatar_id":"","url":"https://api.github.com/users/jakecraige","html_url":"https://github.com/jakecraige","followers_url":"https://api.github.com/users/jakecraige/followers","following_url":"https://api.github.com/users/jakecraige/following{/other_user}","gists_url":"https://api.github.com/users/jakecraige/gists{/gist_id}","starred_url":"https://api.github.com/users/jakecraige/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakecraige/subscriptions","organizations_url":"https://api.github.com/users/jakecraige/orgs","repos_url":"https://api.github.com/users/jakecraige/repos","events_url":"https://api.github.com/users/jakecraige/events{/privacy}","received_events_url":"https://api.github.com/users/jakecraige/received_events","type":"User","site_admin":false},"body":"BLAHH","created_at":"2015-08-28T22:41:27Z","updated_at":"2015-09-26T02:53:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"69a4df5471835febf1ff94d79bcd05b68525f898","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/jakecraige/Secrets/pulls/3/commits","review_comments_url":"https://api.github.com/repos/jakecraige/Secrets/pulls/3/comments","review_comment_url":"https://api.github.com/repos/jakecraige/Secrets/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jakecraige/Secrets/issues/3/comments","statuses_url":"https://api.github.com/repos/jakecraige/Secrets/statuses/84c711eea269507827138ea9548c7713b9e21676","head":{"label":"jakecraige:jc-swift-hound","ref":"jc-swift-hound","sha":"84c711eea269507827138ea9548c7713b9e21676","user":{"login":"jakecraige","id":3799709,"avatar_url":"https://avatars.githubusercontent.com/u/3799709?v=3","gravatar_id":"","url":"https://api.github.com/users/jakecraige","html_url":"https://github.com/jakecraige","followers_url":"https://api.github.com/users/jakecraige/followers","following_url":"https://api.github.com/users/jakecraige/following{/other_user}","gists_url":"https://api.github.com/users/jakecraige/gists{/gist_id}","starred_url":"https://api.github.com/users/jakecraige/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakecraige/subscriptions","organizations_url":"https://api.github.com/users/jakecraige/orgs","repos_url":"https://api.github.com/users/jakecraige/repos","events_url":"https://api.github.com/users/jakecraige/events{/privacy}","received_events_url":"https://api.github.com/users/jakecraige/received_events","type":"User","site_admin":false},"repo":{"id":33736559,"name":"Secrets","full_name":"jakecraige/Secrets","owner":{"login":"jakecraige","id":3799709,"avatar_url":"https://avatars.githubusercontent.com/u/3799709?v=3","gravatar_id":"","url":"https://api.github.com/users/jakecraige","html_url":"https://github.com/jakecraige","followers_url":"https://api.github.com/users/jakecraige/followers","following_url":"https://api.github.com/users/jakecraige/following{/other_user}","gists_url":"https://api.github.com/users/jakecraige/gists{/gist_id}","starred_url":"https://api.github.com/users/jakecraige/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakecraige/subscriptions","organizations_url":"https://api.github.com/users/jakecraige/orgs","repos_url":"https://api.github.com/users/jakecraige/repos","events_url":"https://api.github.com/users/jakecraige/events{/privacy}","received_events_url":"https://api.github.com/users/jakecraige/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jakecraige/Secrets","description":"Creating a clone of the Secret app in Swift to learn more iOS","fork":false,"url":"https://api.github.com/repos/jakecraige/Secrets","forks_url":"https://api.github.com/repos/jakecraige/Secrets/forks","keys_url":"https://api.github.com/repos/jakecraige/Secrets/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jakecraige/Secrets/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jakecraige/Secrets/teams","hooks_url":"https://api.github.com/repos/jakecraige/Secrets/hooks","issue_events_url":"https://api.github.com/repos/jakecraige/Secrets/issues/events{/number}","events_url":"https://api.github.com/repos/jakecraige/Secrets/events","assignees_url":"https://api.github.com/repos/jakecraige/Secrets/assignees{/user}","branches_url":"https://api.github.com/repos/jakecraige/Secrets/branches{/branch}","tags_url":"https://api.github.com/repos/jakecraige/Secrets/tags","blobs_url":"https://api.github.com/repos/jakecraige/Secrets/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jakecraige/Secrets/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jakecraige/Secrets/git/refs{/sha}","trees_url":"https://api.github.com/repos/jakecraige/Secrets/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jakecraige/Secrets/statuses/{sha}","languages_url":"https://api.github.com/repos/jakecraige/Secrets/languages","stargazers_url":"https://api.github.com/repos/jakecraige/Secrets/stargazers","contributors_url":"https://api.github.com/repos/jakecraige/Secrets/contributors","subscribers_url":"https://api.github.com/repos/jakecraige/Secrets/subscribers","subscription_url":"https://api.github.com/repos/jakecraige/Secrets/subscription","commits_url":"https://api.github.com/repos/jakecraige/Secrets/commits{/sha}","git_commits_url":"https://api.github.com/repos/jakecraige/Secrets/git/commits{/sha}","comments_url":"https://api.github.com/repos/jakecraige/Secrets/comments{/number}","issue_comment_url":"https://api.github.com/repos/jakecraige/Secrets/issues/comments{/number}","contents_url":"https://api.github.com/repos/jakecraige/Secrets/contents/{+path}","compare_url":"https://api.github.com/repos/jakecraige/Secrets/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jakecraige/Secrets/merges","archive_url":"https://api.github.com/repos/jakecraige/Secrets/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jakecraige/Secrets/downloads","issues_url":"https://api.github.com/repos/jakecraige/Secrets/issues{/number}","pulls_url":"https://api.github.com/repos/jakecraige/Secrets/pulls{/number}","milestones_url":"https://api.github.com/repos/jakecraige/Secrets/milestones{/number}","notifications_url":"https://api.github.com/repos/jakecraige/Secrets/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jakecraige/Secrets/labels{/name}","releases_url":"https://api.github.com/repos/jakecraige/Secrets/releases{/id}","created_at":"2015-04-10T15:44:00Z","updated_at":"2015-06-29T07:35:24Z","pushed_at":"2015-09-26T02:32:39Z","git_url":"git://github.com/jakecraige/Secrets.git","ssh_url":"git@github.com:jakecraige/Secrets.git","clone_url":"https://github.com/jakecraige/Secrets.git","svn_url":"https://github.com/jakecraige/Secrets","homepage":null,"size":17299,"stargazers_count":3,"watchers_count":3,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":3,"default_branch":"master"}},"base":{"label":"jakecraige:master","ref":"master","sha":"5812ced334b36ff4717d967ad3b3c0223a97101e","user":{"login":"jakecraige","id":3799709,"avatar_url":"https://avatars.githubusercontent.com/u/3799709?v=3","gravatar_id":"","url":"https://api.github.com/users/jakecraige","html_url":"https://github.com/jakecraige","followers_url":"https://api.github.com/users/jakecraige/followers","following_url":"https://api.github.com/users/jakecraige/following{/other_user}","gists_url":"https://api.github.com/users/jakecraige/gists{/gist_id}","starred_url":"https://api.github.com/users/jakecraige/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakecraige/subscriptions","organizations_url":"https://api.github.com/users/jakecraige/orgs","repos_url":"https://api.github.com/users/jakecraige/repos","events_url":"https://api.github.com/users/jakecraige/events{/privacy}","received_events_url":"https://api.github.com/users/jakecraige/received_events","type":"User","site_admin":false},"repo":{"id":33736559,"name":"Secrets","full_name":"jakecraige/Secrets","owner":{"login":"jakecraige","id":3799709,"avatar_url":"https://avatars.githubusercontent.com/u/3799709?v=3","gravatar_id":"","url":"https://api.github.com/users/jakecraige","html_url":"https://github.com/jakecraige","followers_url":"https://api.github.com/users/jakecraige/followers","following_url":"https://api.github.com/users/jakecraige/following{/other_user}","gists_url":"https://api.github.com/users/jakecraige/gists{/gist_id}","starred_url":"https://api.github.com/users/jakecraige/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jakecraige/subscriptions","organizations_url":"https://api.github.com/users/jakecraige/orgs","repos_url":"https://api.github.com/users/jakecraige/repos","events_url":"https://api.github.com/users/jakecraige/events{/privacy}","received_events_url":"https://api.github.com/users/jakecraige/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jakecraige/Secrets","description":"Creating a clone of the Secret app in Swift to learn more iOS","fork":false,"url":"https://api.github.com/repos/jakecraige/Secrets","forks_url":"https://api.github.com/repos/jakecraige/Secrets/forks","keys_url":"https://api.github.com/repos/jakecraige/Secrets/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jakecraige/Secrets/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jakecraige/Secrets/teams","hooks_url":"https://api.github.com/repos/jakecraige/Secrets/hooks","issue_events_url":"https://api.github.com/repos/jakecraige/Secrets/issues/events{/number}","events_url":"https://api.github.com/repos/jakecraige/Secrets/events","assignees_url":"https://api.github.com/repos/jakecraige/Secrets/assignees{/user}","branches_url":"https://api.github.com/repos/jakecraige/Secrets/branches{/branch}","tags_url":"https://api.github.com/repos/jakecraige/Secrets/tags","blobs_url":"https://api.github.com/repos/jakecraige/Secrets/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jakecraige/Secrets/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jakecraige/Secrets/git/refs{/sha}","trees_url":"https://api.github.com/repos/jakecraige/Secrets/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jakecraige/Secrets/statuses/{sha}","languages_url":"https://api.github.com/repos/jakecraige/Secrets/languages","stargazers_url":"https://api.github.com/repos/jakecraige/Secrets/stargazers","contributors_url":"https://api.github.com/repos/jakecraige/Secrets/contributors","subscribers_url":"https://api.github.com/repos/jakecraige/Secrets/subscribers","subscription_url":"https://api.github.com/repos/jakecraige/Secrets/subscription","commits_url":"https://api.github.com/repos/jakecraige/Secrets/commits{/sha}","git_commits_url":"https://api.github.com/repos/jakecraige/Secrets/git/commits{/sha}","comments_url":"https://api.github.com/repos/jakecraige/Secrets/comments{/number}","issue_comment_url":"https://api.github.com/repos/jakecraige/Secrets/issues/comments{/number}","contents_url":"https://api.github.com/repos/jakecraige/Secrets/contents/{+path}","compare_url":"https://api.github.com/repos/jakecraige/Secrets/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jakecraige/Secrets/merges","archive_url":"https://api.github.com/repos/jakecraige/Secrets/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jakecraige/Secrets/downloads","issues_url":"https://api.github.com/repos/jakecraige/Secrets/issues{/number}","pulls_url":"https://api.github.com/repos/jakecraige/Secrets/pulls{/number}","milestones_url":"https://api.github.com/repos/jakecraige/Secrets/milestones{/number}","notifications_url":"https://api.github.com/repos/jakecraige/Secrets/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jakecraige/Secrets/labels{/name}","releases_url":"https://api.github.com/repos/jakecraige/Secrets/releases{/id}","created_at":"2015-04-10T15:44:00Z","updated_at":"2015-06-29T07:35:24Z","pushed_at":"2015-09-26T02:32:39Z","git_url":"git://github.com/jakecraige/Secrets.git","ssh_url":"git@github.com:jakecraige/Secrets.git","clone_url":"https://github.com/jakecraige/Secrets.git","svn_url":"https://github.com/jakecraige/Secrets","homepage":null,"size":17299,"stargazers_count":3,"watchers_count":3,"language":"Objective-C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jakecraige/Secrets/pulls/3"},"html":{"href":"https://github.com/jakecraige/Secrets/pull/3"},"issue":{"href":"https://api.github.com/repos/jakecraige/Secrets/issues/3"},"comments":{"href":"https://api.github.com/repos/jakecraige/Secrets/issues/3/comments"},"review_comments":{"href":"https://api.github.com/repos/jakecraige/Secrets/pulls/3/comments"},"review_comment":{"href":"https://api.github.com/repos/jakecraige/Secrets/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jakecraige/Secrets/pulls/3/commits"},"statuses":{"href":"https://api.github.com/repos/jakecraige/Secrets/statuses/84c711eea269507827138ea9548c7713b9e21676"}}}}