{"action":"created","comment":{"url":"https://api.github.com/repos/codenamecrud/curriculum/pulls/comments/38112207","id":38112207,"diff_hunk":"@@ -0,0 +1,99 @@\n+# Проект: Аутентификация\n+\n+\n+*Не забудьте использовать GIT чтобы сохранить свой проект!*\n+\n+В этом проекте Вы будете работать над реализацией систем аутентификации чтобы пользователи имели доступ только к тем разделам сайта, к которым они авторизованы.\n+\n+## Проект 1: Руководство по Ruby on Rails \n+\n+We're starting to get into the meaty stuff with the tutorial. Не торопитесь и обратите внимание в какой файл(особенно для спецификаций) Вы  долженны писать. Распространенная и разочаровывющая ошибка поставить блок `describe` не в то место.\n+\n+Вы будете реализовывать возможность авторизации и выхода со страницы для пользователя, которая позволяет ему осуществлять более вредные вещи такие как редактирование и удаление (которые должны быть разрешены только данному пользователю или админу). В главе 9 у Вас будет шанс реализовать эти функции.\n+\n+### Ваша задача\n+\n+1. Сделайте [Ruby on Rails Tutorial Chapter 8](https://www.railstutorial.org/book/log_in_log_out), \"Log in, log out\"\n+2. Сделайте [Ruby on Rails Tutorial Chapter 9](http://www.railstutorial.org/book/updating_and_deleting_users), \"Updating, showing and deleting users\"\n+\n+\n+## Проект 2: Только участникам!\n+\n+В этом проекте Вы будете строить эксклюзивную халабуду, где участники смогут писать смущающие посты про не участников. Внутри халабуды участники могут видеть кто автор поста, но снаружи они могут могут видеть только историю и удивляться, кто ее написал.\n+\n+Это буде Ваш шанс \"развернуть\" собственную систему аутентификации очень похожую на ту, которую Вы делали в руководстве. Как обычно, мы сфокусируемся на данных и функции, не стилях. Если Вы хотите добавить свои собственные стилистические завитушки, считайте это дополнительными баллами.\n+\n+Легко почувствовать себя немного ошеломленным написанием собственной атентификацией. Это потому, что есть несколько деталей - сеанс контроллер/форма, который цепляется и обновляет токен, если это необходимо, и использует этот токен чтобы зарегистрировать текущего пользователя. Это может помочь, если Вы выписываете шаги так как Вы их понимаете перед тем как начать, чтобы Вы знали где Ваши знания непрочны и нужно будет обратить на это внимание.","path":"rails/18_project_auth.md","position":26,"original_position":26,"commit_id":"c8a61ce5bd7a261b5bcc936d0ce175d514db16d9","original_commit_id":"c8a61ce5bd7a261b5bcc936d0ce175d514db16d9","user":{"login":"ssuprunenko","id":1862647,"avatar_url":"https://avatars.githubusercontent.com/u/1862647?v=3","gravatar_id":"","url":"https://api.github.com/users/ssuprunenko","html_url":"https://github.com/ssuprunenko","followers_url":"https://api.github.com/users/ssuprunenko/followers","following_url":"https://api.github.com/users/ssuprunenko/following{/other_user}","gists_url":"https://api.github.com/users/ssuprunenko/gists{/gist_id}","starred_url":"https://api.github.com/users/ssuprunenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ssuprunenko/subscriptions","organizations_url":"https://api.github.com/users/ssuprunenko/orgs","repos_url":"https://api.github.com/users/ssuprunenko/repos","events_url":"https://api.github.com/users/ssuprunenko/events{/privacy}","received_events_url":"https://api.github.com/users/ssuprunenko/received_events","type":"User","site_admin":false},"body":"проблема с запятыми во всём абзаце","created_at":"2015-08-27T15:56:07Z","updated_at":"2015-08-27T15:56:07Z","html_url":"https://github.com/codenamecrud/curriculum/pull/129#discussion_r38112207","pull_request_url":"https://api.github.com/repos/codenamecrud/curriculum/pulls/129","_links":{"self":{"href":"https://api.github.com/repos/codenamecrud/curriculum/pulls/comments/38112207"},"html":{"href":"https://github.com/codenamecrud/curriculum/pull/129#discussion_r38112207"},"pull_request":{"href":"https://api.github.com/repos/codenamecrud/curriculum/pulls/129"}}},"pull_request":{"url":"https://api.github.com/repos/codenamecrud/curriculum/pulls/129","id":43533503,"html_url":"https://github.com/codenamecrud/curriculum/pull/129","diff_url":"https://github.com/codenamecrud/curriculum/pull/129.diff","patch_url":"https://github.com/codenamecrud/curriculum/pull/129.patch","issue_url":"https://api.github.com/repos/codenamecrud/curriculum/issues/129","number":129,"state":"open","locked":false,"title":"18_project_auth.md","user":{"login":"MusicalEcho","id":13051633,"avatar_url":"https://avatars.githubusercontent.com/u/13051633?v=3","gravatar_id":"","url":"https://api.github.com/users/MusicalEcho","html_url":"https://github.com/MusicalEcho","followers_url":"https://api.github.com/users/MusicalEcho/followers","following_url":"https://api.github.com/users/MusicalEcho/following{/other_user}","gists_url":"https://api.github.com/users/MusicalEcho/gists{/gist_id}","starred_url":"https://api.github.com/users/MusicalEcho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MusicalEcho/subscriptions","organizations_url":"https://api.github.com/users/MusicalEcho/orgs","repos_url":"https://api.github.com/users/MusicalEcho/repos","events_url":"https://api.github.com/users/MusicalEcho/events{/privacy}","received_events_url":"https://api.github.com/users/MusicalEcho/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-08-27T15:48:11Z","updated_at":"2015-08-27T15:56:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"385eeb7275af42567954e39dbb65f9f94690ed38","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/codenamecrud/curriculum/pulls/129/commits","review_comments_url":"https://api.github.com/repos/codenamecrud/curriculum/pulls/129/comments","review_comment_url":"https://api.github.com/repos/codenamecrud/curriculum/pulls/comments{/number}","comments_url":"https://api.github.com/repos/codenamecrud/curriculum/issues/129/comments","statuses_url":"https://api.github.com/repos/codenamecrud/curriculum/statuses/c8a61ce5bd7a261b5bcc936d0ce175d514db16d9","head":{"label":"codenamecrud:newTranslation","ref":"newTranslation","sha":"c8a61ce5bd7a261b5bcc936d0ce175d514db16d9","user":{"login":"codenamecrud","id":11799719,"avatar_url":"https://avatars.githubusercontent.com/u/11799719?v=3","gravatar_id":"","url":"https://api.github.com/users/codenamecrud","html_url":"https://github.com/codenamecrud","followers_url":"https://api.github.com/users/codenamecrud/followers","following_url":"https://api.github.com/users/codenamecrud/following{/other_user}","gists_url":"https://api.github.com/users/codenamecrud/gists{/gist_id}","starred_url":"https://api.github.com/users/codenamecrud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codenamecrud/subscriptions","organizations_url":"https://api.github.com/users/codenamecrud/orgs","repos_url":"https://api.github.com/users/codenamecrud/repos","events_url":"https://api.github.com/users/codenamecrud/events{/privacy}","received_events_url":"https://api.github.com/users/codenamecrud/received_events","type":"Organization","site_admin":false},"repo":{"id":33415384,"name":"curriculum","full_name":"codenamecrud/curriculum","owner":{"login":"codenamecrud","id":11799719,"avatar_url":"https://avatars.githubusercontent.com/u/11799719?v=3","gravatar_id":"","url":"https://api.github.com/users/codenamecrud","html_url":"https://github.com/codenamecrud","followers_url":"https://api.github.com/users/codenamecrud/followers","following_url":"https://api.github.com/users/codenamecrud/following{/other_user}","gists_url":"https://api.github.com/users/codenamecrud/gists{/gist_id}","starred_url":"https://api.github.com/users/codenamecrud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codenamecrud/subscriptions","organizations_url":"https://api.github.com/users/codenamecrud/orgs","repos_url":"https://api.github.com/users/codenamecrud/repos","events_url":"https://api.github.com/users/codenamecrud/events{/privacy}","received_events_url":"https://api.github.com/users/codenamecrud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/codenamecrud/curriculum","description":"Учебный план для codenamecrud.ru","fork":false,"url":"https://api.github.com/repos/codenamecrud/curriculum","forks_url":"https://api.github.com/repos/codenamecrud/curriculum/forks","keys_url":"https://api.github.com/repos/codenamecrud/curriculum/keys{/key_id}","collaborators_url":"https://api.github.com/repos/codenamecrud/curriculum/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/codenamecrud/curriculum/teams","hooks_url":"https://api.github.com/repos/codenamecrud/curriculum/hooks","issue_events_url":"https://api.github.com/repos/codenamecrud/curriculum/issues/events{/number}","events_url":"https://api.github.com/repos/codenamecrud/curriculum/events","assignees_url":"https://api.github.com/repos/codenamecrud/curriculum/assignees{/user}","branches_url":"https://api.github.com/repos/codenamecrud/curriculum/branches{/branch}","tags_url":"https://api.github.com/repos/codenamecrud/curriculum/tags","blobs_url":"https://api.github.com/repos/codenamecrud/curriculum/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/codenamecrud/curriculum/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/codenamecrud/curriculum/git/refs{/sha}","trees_url":"https://api.github.com/repos/codenamecrud/curriculum/git/trees{/sha}","statuses_url":"https://api.github.com/repos/codenamecrud/curriculum/statuses/{sha}","languages_url":"https://api.github.com/repos/codenamecrud/curriculum/languages","stargazers_url":"https://api.github.com/repos/codenamecrud/curriculum/stargazers","contributors_url":"https://api.github.com/repos/codenamecrud/curriculum/contributors","subscribers_url":"https://api.github.com/repos/codenamecrud/curriculum/subscribers","subscription_url":"https://api.github.com/repos/codenamecrud/curriculum/subscription","commits_url":"https://api.github.com/repos/codenamecrud/curriculum/commits{/sha}","git_commits_url":"https://api.github.com/repos/codenamecrud/curriculum/git/commits{/sha}","comments_url":"https://api.github.com/repos/codenamecrud/curriculum/comments{/number}","issue_comment_url":"https://api.github.com/repos/codenamecrud/curriculum/issues/comments{/number}","contents_url":"https://api.github.com/repos/codenamecrud/curriculum/contents/{+path}","compare_url":"https://api.github.com/repos/codenamecrud/curriculum/compare/{base}...{head}","merges_url":"https://api.github.com/repos/codenamecrud/curriculum/merges","archive_url":"https://api.github.com/repos/codenamecrud/curriculum/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/codenamecrud/curriculum/downloads","issues_url":"https://api.github.com/repos/codenamecrud/curriculum/issues{/number}","pulls_url":"https://api.github.com/repos/codenamecrud/curriculum/pulls{/number}","milestones_url":"https://api.github.com/repos/codenamecrud/curriculum/milestones{/number}","notifications_url":"https://api.github.com/repos/codenamecrud/curriculum/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/codenamecrud/curriculum/labels{/name}","releases_url":"https://api.github.com/repos/codenamecrud/curriculum/releases{/id}","created_at":"2015-04-04T18:20:56Z","updated_at":"2015-08-03T08:17:40Z","pushed_at":"2015-08-27T15:48:12Z","git_url":"git://github.com/codenamecrud/curriculum.git","ssh_url":"git@github.com:codenamecrud/curriculum.git","clone_url":"https://github.com/codenamecrud/curriculum.git","svn_url":"https://github.com/codenamecrud/curriculum","homepage":"codenamecrud.ru","size":2042,"stargazers_count":5,"watchers_count":5,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":43,"forks":4,"open_issues":43,"watchers":5,"default_branch":"master"}},"base":{"label":"codenamecrud:master","ref":"master","sha":"8a91ad17e6f2b0f11af01cf52b4e61a58efa25ad","user":{"login":"codenamecrud","id":11799719,"avatar_url":"https://avatars.githubusercontent.com/u/11799719?v=3","gravatar_id":"","url":"https://api.github.com/users/codenamecrud","html_url":"https://github.com/codenamecrud","followers_url":"https://api.github.com/users/codenamecrud/followers","following_url":"https://api.github.com/users/codenamecrud/following{/other_user}","gists_url":"https://api.github.com/users/codenamecrud/gists{/gist_id}","starred_url":"https://api.github.com/users/codenamecrud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codenamecrud/subscriptions","organizations_url":"https://api.github.com/users/codenamecrud/orgs","repos_url":"https://api.github.com/users/codenamecrud/repos","events_url":"https://api.github.com/users/codenamecrud/events{/privacy}","received_events_url":"https://api.github.com/users/codenamecrud/received_events","type":"Organization","site_admin":false},"repo":{"id":33415384,"name":"curriculum","full_name":"codenamecrud/curriculum","owner":{"login":"codenamecrud","id":11799719,"avatar_url":"https://avatars.githubusercontent.com/u/11799719?v=3","gravatar_id":"","url":"https://api.github.com/users/codenamecrud","html_url":"https://github.com/codenamecrud","followers_url":"https://api.github.com/users/codenamecrud/followers","following_url":"https://api.github.com/users/codenamecrud/following{/other_user}","gists_url":"https://api.github.com/users/codenamecrud/gists{/gist_id}","starred_url":"https://api.github.com/users/codenamecrud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codenamecrud/subscriptions","organizations_url":"https://api.github.com/users/codenamecrud/orgs","repos_url":"https://api.github.com/users/codenamecrud/repos","events_url":"https://api.github.com/users/codenamecrud/events{/privacy}","received_events_url":"https://api.github.com/users/codenamecrud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/codenamecrud/curriculum","description":"Учебный план для codenamecrud.ru","fork":false,"url":"https://api.github.com/repos/codenamecrud/curriculum","forks_url":"https://api.github.com/repos/codenamecrud/curriculum/forks","keys_url":"https://api.github.com/repos/codenamecrud/curriculum/keys{/key_id}","collaborators_url":"https://api.github.com/repos/codenamecrud/curriculum/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/codenamecrud/curriculum/teams","hooks_url":"https://api.github.com/repos/codenamecrud/curriculum/hooks","issue_events_url":"https://api.github.com/repos/codenamecrud/curriculum/issues/events{/number}","events_url":"https://api.github.com/repos/codenamecrud/curriculum/events","assignees_url":"https://api.github.com/repos/codenamecrud/curriculum/assignees{/user}","branches_url":"https://api.github.com/repos/codenamecrud/curriculum/branches{/branch}","tags_url":"https://api.github.com/repos/codenamecrud/curriculum/tags","blobs_url":"https://api.github.com/repos/codenamecrud/curriculum/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/codenamecrud/curriculum/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/codenamecrud/curriculum/git/refs{/sha}","trees_url":"https://api.github.com/repos/codenamecrud/curriculum/git/trees{/sha}","statuses_url":"https://api.github.com/repos/codenamecrud/curriculum/statuses/{sha}","languages_url":"https://api.github.com/repos/codenamecrud/curriculum/languages","stargazers_url":"https://api.github.com/repos/codenamecrud/curriculum/stargazers","contributors_url":"https://api.github.com/repos/codenamecrud/curriculum/contributors","subscribers_url":"https://api.github.com/repos/codenamecrud/curriculum/subscribers","subscription_url":"https://api.github.com/repos/codenamecrud/curriculum/subscription","commits_url":"https://api.github.com/repos/codenamecrud/curriculum/commits{/sha}","git_commits_url":"https://api.github.com/repos/codenamecrud/curriculum/git/commits{/sha}","comments_url":"https://api.github.com/repos/codenamecrud/curriculum/comments{/number}","issue_comment_url":"https://api.github.com/repos/codenamecrud/curriculum/issues/comments{/number}","contents_url":"https://api.github.com/repos/codenamecrud/curriculum/contents/{+path}","compare_url":"https://api.github.com/repos/codenamecrud/curriculum/compare/{base}...{head}","merges_url":"https://api.github.com/repos/codenamecrud/curriculum/merges","archive_url":"https://api.github.com/repos/codenamecrud/curriculum/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/codenamecrud/curriculum/downloads","issues_url":"https://api.github.com/repos/codenamecrud/curriculum/issues{/number}","pulls_url":"https://api.github.com/repos/codenamecrud/curriculum/pulls{/number}","milestones_url":"https://api.github.com/repos/codenamecrud/curriculum/milestones{/number}","notifications_url":"https://api.github.com/repos/codenamecrud/curriculum/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/codenamecrud/curriculum/labels{/name}","releases_url":"https://api.github.com/repos/codenamecrud/curriculum/releases{/id}","created_at":"2015-04-04T18:20:56Z","updated_at":"2015-08-03T08:17:40Z","pushed_at":"2015-08-27T15:48:12Z","git_url":"git://github.com/codenamecrud/curriculum.git","ssh_url":"git@github.com:codenamecrud/curriculum.git","clone_url":"https://github.com/codenamecrud/curriculum.git","svn_url":"https://github.com/codenamecrud/curriculum","homepage":"codenamecrud.ru","size":2042,"stargazers_count":5,"watchers_count":5,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":43,"forks":4,"open_issues":43,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/codenamecrud/curriculum/pulls/129"},"html":{"href":"https://github.com/codenamecrud/curriculum/pull/129"},"issue":{"href":"https://api.github.com/repos/codenamecrud/curriculum/issues/129"},"comments":{"href":"https://api.github.com/repos/codenamecrud/curriculum/issues/129/comments"},"review_comments":{"href":"https://api.github.com/repos/codenamecrud/curriculum/pulls/129/comments"},"review_comment":{"href":"https://api.github.com/repos/codenamecrud/curriculum/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/codenamecrud/curriculum/pulls/129/commits"},"statuses":{"href":"https://api.github.com/repos/codenamecrud/curriculum/statuses/c8a61ce5bd7a261b5bcc936d0ce175d514db16d9"}}}}