{"action":"opened","number":103,"pull_request":{"url":"https://api.github.com/repos/NAKKA-K/bookbok/pulls/103","id":233423832,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMzNDIzODMy","html_url":"https://github.com/NAKKA-K/bookbok/pull/103","diff_url":"https://github.com/NAKKA-K/bookbok/pull/103.diff","patch_url":"https://github.com/NAKKA-K/bookbok/pull/103.patch","issue_url":"https://api.github.com/repos/NAKKA-K/bookbok/issues/103","number":103,"state":"open","locked":false,"title":"[マージしないで!!]コード整形ツールをテスト導入してみた","user":{"login":"kento-oka","id":30544668,"node_id":"MDQ6VXNlcjMwNTQ0NjY4","avatar_url":"https://avatars0.githubusercontent.com/u/30544668?v=4","gravatar_id":"","url":"https://api.github.com/users/kento-oka","html_url":"https://github.com/kento-oka","followers_url":"https://api.github.com/users/kento-oka/followers","following_url":"https://api.github.com/users/kento-oka/following{/other_user}","gists_url":"https://api.github.com/users/kento-oka/gists{/gist_id}","starred_url":"https://api.github.com/users/kento-oka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kento-oka/subscriptions","organizations_url":"https://api.github.com/users/kento-oka/orgs","repos_url":"https://api.github.com/users/kento-oka/repos","events_url":"https://api.github.com/users/kento-oka/events{/privacy}","received_events_url":"https://api.github.com/users/kento-oka/received_events","type":"User","site_admin":false},"body":"**マージしないで!!**\r\n\r\n# 概要\r\nコード整形ライブラリである`friendsofphp/php-cs-fixer`を導入してみた。\r\n\r\n# 主な変更点\r\n- phpライブラリ依存追加\r\n  - [friendsofphp/php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer)\r\n  - [suin/php-cs-fixer-rules](https://github.com/suin/php-cs-fixer-rules)\r\n- composerコマンド追加\r\n\r\n# 使い方\r\nコミットにフックさせたりするのがベストプラクティスな気もするけど、至極単純にコマンドで実行するようにした。\r\n\r\n整形を実行せずに修正の必要性や構文エラーを見つけるには`composer codefix-dry`を実行する。\r\nまたこれを実行した場合にエラーが発生するが、エラーコードによって状態を判断することができる。\r\n\r\n整形を実行するにはプロジェクトディレクトリ内で`composer codefix`を実行する。\r\n\r\n## よく見るエラーコード\r\n\r\n|エラーコード|状態|\r\n|:-:|---|\r\n|0|修正の必要性はない|\r\n|4|構文エラーが混じっている|\r\n|8|修正の必要性がある|\r\n\r\n[より正確なエラーコードリスト](https://github.com/FriendsOfPHP/PHP-CS-Fixer#exit-codes)\r\n\r\n# 感想\r\n\r\n設定を作るのに時間がかかりそうだと感じた。\r\n\r\n# 実行サンプル\r\n\r\n実行した際の出力の例\r\n\r\n```bash\r\nvagrant@vagrant:~/bookbok$ composer codefix-dry\r\n> php-cs-fixer fix app --dry-run\r\nLoaded config default from \"/home/vagrant/bookbok/.php_cs.dist\".\r\nUsing cache file \".php_cs.cache\".\r\nPaths from configuration file have been overridden by paths provided as command arguments.\r\n   1) app/Exceptions/Handler.php\r\n   2) app/Console/Kernel.php\r\n   3) app/Love.php\r\n   ... 省略 ...\r\n  36) app/Http/Controllers/Controller.php\r\n  37) app/Http/Controllers/GenreController.php\r\n  38) app/BookUser.php\r\n\r\nChecked all files in 0.403 seconds, 12.000 MB memory used\r\nScript php-cs-fixer fix app --dry-run handling the codefix-dry event returned with error code 8\r\n\r\nvagrant@vagrant:~/bookbok$ composer codefix\r\n> php-cs-fixer fix app\r\nLoaded config default from \"/home/vagrant/bookbok/.php_cs.dist\".\r\nUsing cache file \".php_cs.cache\".\r\nPaths from configuration file have been overridden by paths provided as command arguments.\r\n   1) app/Exceptions/Handler.php\r\n   2) app/Console/Kernel.php\r\n   3) app/Love.php\r\n   ... 省略 ...\r\n  36) app/Http/Controllers/Controller.php\r\n  37) app/Http/Controllers/GenreController.php\r\n  38) app/BookUser.php\r\n\r\nFixed all files in 0.455 seconds, 12.000 MB memory used\r\n```\r\n\r\n## 実行後のgit diff (一部抜粋)\r\n\r\n```diff\r\ndiff --git a/app/Bok.php b/app/Bok.php\r\nindex c0d3301..0d4361c 100644\r\n--- a/app/Bok.php\r\n+++ b/app/Bok.php\r\n@@ -7,12 +7,13 @@ use Illuminate\\Database\\Eloquent\\Model;\r\n class Bok extends Model\r\n {\r\n     // リレーション定義\r\n-    public function user(){\r\n+    public function user()\r\n+    {\r\n         return $this->belongsTo(User::class);\r\n     }\r\n \r\n-    public function userBook(){\r\n+    public function userBook()\r\n+    {\r\n         return $this->belongsTo(BookUser::class);\r\n     }\r\n-\r\n }\r\ndiff --git a/app/Book.php b/app/Book.php\r\nindex 633e932..cadec41 100644\r\n--- a/app/Book.php\r\n+++ b/app/Book.php\r\n@@ -6,15 +6,16 @@ use Illuminate\\Database\\Eloquent\\Model;\r\n \r\n class Book extends Model\r\n {\r\n-\r\n     /**\r\n      * リレーション定義\r\n      */\r\n-    public function genre(){\r\n+    public function genre()\r\n+    {\r\n         return $this->belongsTo(Genre::class);\r\n     }\r\n \r\n-    public function users(){\r\n+    public function users()\r\n+    {\r\n         return $this->belongsToMany(User::class);\r\n     }\r\n }\r\ndiff --git a/app/BookUser.php b/app/BookUser.php\r\nindex f4f1d03..6e7c4bd 100644\r\n--- a/app/BookUser.php\r\n+++ b/app/BookUser.php\r\n@@ -11,15 +11,18 @@ class BookUser extends Model\r\n     /**\r\n      * リレーション定義\r\n      */\r\n-    public function review(){\r\n+    public function review()\r\n+    {\r\n         return $this->hasOne(Review::class);\r\n     }\r\n \r\n-    public function boks(){\r\n+    public function boks()\r\n+    {\r\n         return $this->hasMany(Bok::class);\r\n     }\r\n \r\n-    public function user(){\r\n+    public function user()\r\n+    {\r\n         return $this->belongsTo(User::class);\r\n     }\r\n }\r\ndiff --git a/app/Components/BookInfoScraper/ScrapeManager.php b/app/Components/BookInfoScraper/ScrapeManager.php\r\nindex adc3940..f37820d 100644\r\n--- a/app/Components/BookInfoScraper/ScrapeManager.php\r\n+++ b/app/Components/BookInfoScraper/ScrapeManager.php\r\n@@ -3,7 +3,6 @@\r\n namespace App\\Components\\BookInfoScraper;\r\n \r\n use App\\Components\\ISBN;\r\n-use Illuminate\\Support\\ServiceProvider;\r\n \r\n /**\r\n  * 外部のAPIを通じて書籍情報を取得するコンポーネント\r\n@@ -17,27 +16,28 @@ class ScrapeManager\r\n \r\n     /**\r\n      * Constructor\r\n-     * \r\n-     * @param   ScraperInterface[]  $scrapers\r\n-     *  スクレイパーの配列\r\n+     *\r\n+     * @param ScraperInterface[] $scrapers\r\n+     *                                     スクレイパーの配列\r\n      */\r\n-    public function __construct(array $scrapers){\r\n+    public function __construct(array $scrapers)\r\n+    {\r\n         $this->scrapers = $scrapers;\r\n     }\r\n \r\n     /**\r\n      * 外部APIを通じてISBNから書籍情報を取得する\r\n-     * \r\n-     * @param   string  $isbn\r\n-     *  検索対象ISBN。\r\n-     *  ISBN10の場合、プレフィックス978のISBN13に変換して検索する。\r\n-     * \r\n-     * @return  \\App\\Book|false\r\n-     *  見つかった場合はApp\\Bookモデルを返す。\r\n-     *  見つからなかった場合はfalseを返す\r\n-     * \r\n-     * @throws  \\InvalidArgumentException\r\n-     *  ISBN文字列として不正な場合にスローされる例外\r\n+     *\r\n+     * @param string $isbn\r\n+     *                     検索対象ISBN。\r\n+     *                     ISBN10の場合、プレフィックス978のISBN13に変換して検索する。\r\n+     *\r\n+     * @throws \\InvalidArgumentException\r\n+     *                                   ISBN文字列として不正な場合にスローされる例外\r\n+     *\r\n+     * @return \\App\\Book|false\r\n+     *                         見つかった場合はApp\\Bookモデルを返す。\r\n+     *                         見つからなかった場合はfalseを返す\r\n      */\r\n     public function searchByIsbn(string $isbn)\r\n     {\r\n@@ -45,7 +45,8 @@ class ScrapeManager\r\n \r\n         foreach ($this->scrapers as $scraper) {\r\n             $book = $scraper->searchByIsbn($isbn);\r\n-            if (false !== $book) {\r\n+\r\n+            if ($book !== false) {\r\n                 return $book;\r\n             }\r\n         }\r\ndiff --git a/app/Components/BookInfoScraper/ScraperInterface.php b/app/Components/BookInfoScraper/ScraperInterface.php\r\nindex 1da5782..50418a0 100644\r\n--- a/app/Components/BookInfoScraper/ScraperInterface.php\r\n+++ b/app/Components/BookInfoScraper/ScraperInterface.php\r\n@@ -2,20 +2,18 @@\r\n \r\n namespace App\\Components\\BookInfoScraper;\r\n \r\n-use Illuminate\\Support\\ServiceProvider;\r\n-\r\n interface ScraperInterface\r\n {\r\n     /**\r\n      * 外部APIを通じてISBNから書籍情報を取得する\r\n-     * \r\n-     * @param   string  $isbn\r\n-     *  検索対象ISBN。\r\n-     *  ISBN10の場合、プレフィックス978のISBN13に変換して検索する。\r\n-     * \r\n-     * @return  \\App\\Book|false\r\n-     *  見つかった場合はApp\\Bookモデルを返す。\r\n-     *  見つからなかった場合はfalseを返す\r\n+     *\r\n+     * @param string $isbn\r\n+     *                     検索対象ISBN。\r\n+     *                     ISBN10の場合、プレフィックス978のISBN13に変換して検索する。\r\n+     *\r\n+     * @return \\App\\Book|false\r\n+     *                         見つかった場合はApp\\Bookモデルを返す。\r\n+     *                         見つからなかった場合はfalseを返す\r\n      */\r\n     public function searchByIsbn(string $isbn);\r\n }\r\ndiff --git a/app/Components/ISBN.php b/app/Components/ISBN.php\r\nindex 6e89c14..53bf0af 100644\r\n--- a/app/Components/ISBN.php\r\n+++ b/app/Components/ISBN.php\r\n@@ -9,33 +9,33 @@ class ISBN\r\n {\r\n     /**\r\n      * ISBN文字列をハイフン無しISBN13に正規化する\r\n-     * \r\n-     * @param   string  $isbn\r\n-     *  正規化対象ISBN文字列\r\n-     * \r\n-     * @return  string\r\n-     * \r\n-     * @throws  \\InvalidArgumentException\r\n-     *  ISBN文字列として不正な場合にスローされる例外\r\n+     *\r\n+     * @param string $isbn\r\n+     *                     正規化対象ISBN文字列\r\n+     *\r\n+     * @throws \\InvalidArgumentException\r\n+     *                                   ISBN文字列として不正な場合にスローされる例外\r\n+     *\r\n+     * @return string\r\n      */\r\n     public static function normalize(string $isbn)\r\n     {\r\n-        $isbn   = str_replace('-', '', $isbn);\r\n-        $length = strlen($isbn);\r\n+        $isbn = \\str_replace('-', '', $isbn);\r\n+        $length = \\strlen($isbn);\r\n \r\n-        if (10 !== $length && 13 !== $length) {\r\n+        if ($length !== 10 && $length !== 13) {\r\n             throw new \\InvalidArgumentException();\r\n         }\r\n \r\n         // MEMO: グループ記号などをしっかりと判定する必要はないと判断した。\r\n         // それをBadRequestとしたいのであればルーティングではじけばいいと考えたから。\r\n-        if (1 !== preg_match('/\\A(97[89][0-9]{10}|[0-9]{9}[0-9X])\\z/', $isbn)) {\r\n+        if (\\preg_match('/\\A(97[89][0-9]{10}|[0-9]{9}[0-9X])\\z/', $isbn) !== 1) {\r\n             throw new \\InvalidArgumentException();\r\n         }\r\n \r\n         // チェックディジット計算(モジュラス10/ウェイト3)\r\n-        if (10 === $length) {\r\n-            $isbn = '978' . substr($isbn, 0, -1);\r\n+        if ($length === 10) {\r\n+            $isbn = '978' . \\substr($isbn, 0, -1);\r\n             $isbn = $isbn . self::calculateIsbn13CheckDigit($isbn);\r\n         }\r\n \r\n@@ -44,33 +44,33 @@ class ISBN\r\n \r\n     /**\r\n      * ISBN13のチェックディジットを計算する\r\n-     * \r\n-     * @param   string  $isbn\r\n-     *  ISBN13のチェックディジットを除いた12桁の文字列\r\n-     * \r\n-     * @return  int\r\n+     *\r\n+     * @param string $isbn\r\n+     *                     ISBN13のチェックディジットを除いた12桁の文字列\r\n+     *\r\n+     * @return int\r\n      */\r\n     public static function calculateIsbn13CheckDigit(string $isbn)\r\n     {\r\n-        if (1 !== preg_match('/[0-9]{12}/', $isbn)) {\r\n+        if (\\preg_match('/[0-9]{12}/', $isbn) !== 1) {\r\n             throw new \\InvalidArgumentException();\r\n         }\r\n \r\n         $sum = 0;\r\n-        \r\n+\r\n         for ($i = 0; $i < 12; ++$i) {\r\n-            $sum += (1 === ($i + 1) % 2)\r\n-                ? (int)$isbn[$i] * 1 // 奇数番\r\n-                : (int)$isbn[$i] * 3 // 偶数番\r\n-            ;\r\n+            $sum += (($i + 1) % 2 === 1)\r\n+                ? (int) $isbn[$i] * 1 // 奇数番\r\n+                : (int) $isbn[$i] * 3 // 偶数番\r\n+;\r\n         }\r\n \r\n         $remainder = $sum % 10;\r\n \r\n-        if (0 === $remainder) {\r\n+        if ($remainder === 0) {\r\n             return 0;\r\n         }\r\n-        \r\n+\r\n         return 10 - $remainder;\r\n     }\r\n }\r\ndiff --git a/app/Http/Controllers/BookUserController.php b/app/Http/Controllers/BookUserController.php\r\nindex 55bd606..1d94189 100644\r\n--- a/app/Http/Controllers/BookUserController.php\r\n+++ b/app/Http/Controllers/BookUserController.php\r\n@@ -4,7 +4,6 @@ namespace App\\Http\\Controllers;\r\n \r\n use App\\BookUser;\r\n use App\\User;\r\n-use App\\Book;\r\n use Illuminate\\Http\\Request;\r\n \r\n class BookUserController extends Controller\r\n@@ -13,22 +12,22 @@ class BookUserController extends Controller\r\n      * 特定ユーザの本棚のなかに登録されている本の一覧情報を返す\r\n      *\r\n      * @param userId : ユーザID\r\n+     *\r\n      * @return JSON形式のユーザの本棚内一覧\r\n      */\r\n     public function index($userId)\r\n     {\r\n-\r\n-        $userBooks = User::with(['books' => function($q) {\r\n-                        $q->select('books.id','books.name', 'books.cover', 'books.author', 'books.genre_id');\r\n-                     }])\r\n-                     ->select('users.id', 'users.name', 'users.avatar', 'users.description', 'users.role_id')\r\n-                     ->find($userId);\r\n+        $userBooks = User::with(['books' => function ($q): void {\r\n+            $q->select('books.id', 'books.name', 'books.cover', 'books.author', 'books.genre_id');\r\n+        }])\r\n+            ->select('users.id', 'users.name', 'users.avatar', 'users.description', 'users.role_id')\r\n+            ->find($userId);\r\n \r\n         return response()->json(\r\n             $userBooks,\r\n             200,\r\n             [],\r\n-            JSON_UNESCAPED_UNICODE\r\n+            \\JSON_UNESCAPED_UNICODE\r\n         );\r\n     }\r\n \r\n@@ -39,75 +38,66 @@ class BookUserController extends Controller\r\n      */\r\n     public function create()\r\n     {\r\n-        //\r\n     }\r\n \r\n     /**\r\n      * Store a newly created resource in storage.\r\n      *\r\n-     * @param  \\Illuminate\\Http\\Request  $request\r\n      * @return \\Illuminate\\Http\\Response\r\n      */\r\n     public function store(Request $request)\r\n     {\r\n-        //\r\n     }\r\n \r\n     /**\r\n      * 本棚に収められた本の詳細情報表示用API.\r\n      *\r\n      * @param  bookUserId: ユーザブックの主キー\r\n+     *\r\n      * @return JSON形式のまるっと情報\r\n      */\r\n     public function show($bookUserId)\r\n     {\r\n         $userBook = BookUser::with([\r\n-                        'user:id,name,avatar,description',\r\n-                        'review:id,user_id,book_user_id,body,published_at',\r\n-                        'boks:id,user_id,book_user_id,body,page_num_begin,page_num_end,published_at'\r\n-                        ])\r\n-                    ->select(['id', 'user_id', 'book_id'])\r\n-                    ->find($bookUserId);\r\n+            'user:id,name,avatar,description',\r\n+            'review:id,user_id,book_user_id,body,published_at',\r\n+            'boks:id,user_id,book_user_id,body,page_num_begin,page_num_end,published_at',\r\n+        ])\r\n+            ->select(['id', 'user_id', 'book_id'])\r\n+            ->find($bookUserId);\r\n \r\n         return response()->json(\r\n             $userBook,\r\n             200,\r\n             [],\r\n-            JSON_UNESCAPED_UNICODE\r\n+            \\JSON_UNESCAPED_UNICODE\r\n         );\r\n     }\r\n \r\n     /**\r\n      * Show the form for editing the specified resource.\r\n      *\r\n-     * @param  \\App\\BookUser  $userBook\r\n      * @return \\Illuminate\\Http\\Response\r\n      */\r\n     public function edit(BookUser $userBook)\r\n     {\r\n-        //\r\n     }\r\n \r\n     /**\r\n      * Update the specified resource in storage.\r\n      *\r\n-     * @param  \\Illuminate\\Http\\Request  $request\r\n-     * @param  \\App\\BookUser  $userBook\r\n      * @return \\Illuminate\\Http\\Response\r\n      */\r\n     public function update(Request $request, BookUser $userBook)\r\n     {\r\n-        //\r\n     }\r\n \r\n     /**\r\n      * Remove the specified resource from storage.\r\n      *\r\n-     * @param  \\App\\BookUser  $userBook\r\n      * @return \\Illuminate\\Http\\Response\r\n      */\r\n     public function destroy(BookUser $userBook)\r\n     {\r\n-        //\r\n     }\r\n }\r\ndiff --git a/app/Role.php b/app/Role.php\r\nindex f03d07d..c18911a 100644\r\n--- a/app/Role.php\r\n+++ b/app/Role.php\r\n@@ -6,7 +6,9 @@ use Illuminate\\Database\\Eloquent\\Model;\r\n \r\n class Role extends Model\r\n {\r\n-    const ADMIN = 1;\r\n-    const STAFF = 5;\r\n-    const NORMAL = 10;\r\n+    public const ADMIN = 1;\r\n+\r\n+    public const STAFF = 5;\r\n+\r\n+    public const NORMAL = 10;\r\n }\r\ndiff --git a/app/User.php b/app/User.php\r\nindex 70dd450..0dd67dd 100644\r\n--- a/app/User.php\r\n+++ b/app/User.php\r\n@@ -2,10 +2,9 @@\r\n \r\n namespace App;\r\n \r\n-use Laravel\\Passport\\HasApiTokens;\r\n-use Illuminate\\Notifications\\Notifiable;\r\n-use Illuminate\\Contracts\\Auth\\MustVerifyEmail;\r\n use Illuminate\\Foundation\\Auth\\User as Authenticatable;\r\n+use Illuminate\\Notifications\\Notifiable;\r\n+use Laravel\\Passport\\HasApiTokens;\r\n \r\n class User extends Authenticatable\r\n {\r\n@@ -32,17 +31,20 @@ class User extends Authenticatable\r\n     /**\r\n      * リレーション定義\r\n      */\r\n-    public function books(){\r\n+    public function books()\r\n+    {\r\n         return $this->belongsToMany(Book::class)\r\n-                    ->withPivot('id')\r\n-                    ->withTimestamps();\r\n+            ->withPivot('id')\r\n+            ->withTimestamps();\r\n     }\r\n```\r\n","created_at":"2018-11-26T02:43:51Z","updated_at":"2018-11-26T02:43:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/NAKKA-K/bookbok/pulls/103/commits","review_comments_url":"https://api.github.com/repos/NAKKA-K/bookbok/pulls/103/comments","review_comment_url":"https://api.github.com/repos/NAKKA-K/bookbok/pulls/comments{/number}","comments_url":"https://api.github.com/repos/NAKKA-K/bookbok/issues/103/comments","statuses_url":"https://api.github.com/repos/NAKKA-K/bookbok/statuses/7225cff41f47b8286559107a7efb41310d21024c","head":{"label":"NAKKA-K:add_dependency_on_csfixer","ref":"add_dependency_on_csfixer","sha":"7225cff41f47b8286559107a7efb41310d21024c","user":{"login":"NAKKA-K","id":22770924,"node_id":"MDQ6VXNlcjIyNzcwOTI0","avatar_url":"https://avatars2.githubusercontent.com/u/22770924?v=4","gravatar_id":"","url":"https://api.github.com/users/NAKKA-K","html_url":"https://github.com/NAKKA-K","followers_url":"https://api.github.com/users/NAKKA-K/followers","following_url":"https://api.github.com/users/NAKKA-K/following{/other_user}","gists_url":"https://api.github.com/users/NAKKA-K/gists{/gist_id}","starred_url":"https://api.github.com/users/NAKKA-K/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NAKKA-K/subscriptions","organizations_url":"https://api.github.com/users/NAKKA-K/orgs","repos_url":"https://api.github.com/users/NAKKA-K/repos","events_url":"https://api.github.com/users/NAKKA-K/events{/privacy}","received_events_url":"https://api.github.com/users/NAKKA-K/received_events","type":"User","site_admin":false},"repo":{"id":154164586,"node_id":"MDEwOlJlcG9zaXRvcnkxNTQxNjQ1ODY=","name":"bookbok","full_name":"NAKKA-K/bookbok","private":false,"owner":{"login":"NAKKA-K","id":22770924,"node_id":"MDQ6VXNlcjIyNzcwOTI0","avatar_url":"https://avatars2.githubusercontent.com/u/22770924?v=4","gravatar_id":"","url":"https://api.github.com/users/NAKKA-K","html_url":"https://github.com/NAKKA-K","followers_url":"https://api.github.com/users/NAKKA-K/followers","following_url":"https://api.github.com/users/NAKKA-K/following{/other_user}","gists_url":"https://api.github.com/users/NAKKA-K/gists{/gist_id}","starred_url":"https://api.github.com/users/NAKKA-K/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NAKKA-K/subscriptions","organizations_url":"https://api.github.com/users/NAKKA-K/orgs","repos_url":"https://api.github.com/users/NAKKA-K/repos","events_url":"https://api.github.com/users/NAKKA-K/events{/privacy}","received_events_url":"https://api.github.com/users/NAKKA-K/received_events","type":"User","site_admin":false},"html_url":"https://github.com/NAKKA-K/bookbok","description":null,"fork":false,"url":"https://api.github.com/repos/NAKKA-K/bookbok","forks_url":"https://api.github.com/repos/NAKKA-K/bookbok/forks","keys_url":"https://api.github.com/repos/NAKKA-K/bookbok/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NAKKA-K/bookbok/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NAKKA-K/bookbok/teams","hooks_url":"https://api.github.com/repos/NAKKA-K/bookbok/hooks","issue_events_url":"https://api.github.com/repos/NAKKA-K/bookbok/issues/events{/number}","events_url":"https://api.github.com/repos/NAKKA-K/bookbok/events","assignees_url":"https://api.github.com/repos/NAKKA-K/bookbok/assignees{/user}","branches_url":"https://api.github.com/repos/NAKKA-K/bookbok/branches{/branch}","tags_url":"https://api.github.com/repos/NAKKA-K/bookbok/tags","blobs_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/refs{/sha}","trees_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NAKKA-K/bookbok/statuses/{sha}","languages_url":"https://api.github.com/repos/NAKKA-K/bookbok/languages","stargazers_url":"https://api.github.com/repos/NAKKA-K/bookbok/stargazers","contributors_url":"https://api.github.com/repos/NAKKA-K/bookbok/contributors","subscribers_url":"https://api.github.com/repos/NAKKA-K/bookbok/subscribers","subscription_url":"https://api.github.com/repos/NAKKA-K/bookbok/subscription","commits_url":"https://api.github.com/repos/NAKKA-K/bookbok/commits{/sha}","git_commits_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/commits{/sha}","comments_url":"https://api.github.com/repos/NAKKA-K/bookbok/comments{/number}","issue_comment_url":"https://api.github.com/repos/NAKKA-K/bookbok/issues/comments{/number}","contents_url":"https://api.github.com/repos/NAKKA-K/bookbok/contents/{+path}","compare_url":"https://api.github.com/repos/NAKKA-K/bookbok/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NAKKA-K/bookbok/merges","archive_url":"https://api.github.com/repos/NAKKA-K/bookbok/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NAKKA-K/bookbok/downloads","issues_url":"https://api.github.com/repos/NAKKA-K/bookbok/issues{/number}","pulls_url":"https://api.github.com/repos/NAKKA-K/bookbok/pulls{/number}","milestones_url":"https://api.github.com/repos/NAKKA-K/bookbok/milestones{/number}","notifications_url":"https://api.github.com/repos/NAKKA-K/bookbok/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NAKKA-K/bookbok/labels{/name}","releases_url":"https://api.github.com/repos/NAKKA-K/bookbok/releases{/id}","deployments_url":"https://api.github.com/repos/NAKKA-K/bookbok/deployments","created_at":"2018-10-22T15:07:02Z","updated_at":"2018-11-25T10:16:41Z","pushed_at":"2018-11-26T02:29:30Z","git_url":"git://github.com/NAKKA-K/bookbok.git","ssh_url":"git@github.com:NAKKA-K/bookbok.git","clone_url":"https://github.com/NAKKA-K/bookbok.git","svn_url":"https://github.com/NAKKA-K/bookbok","homepage":null,"size":1040,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":20,"license":null,"forks":0,"open_issues":20,"watchers":0,"default_branch":"master"}},"base":{"label":"NAKKA-K:master","ref":"master","sha":"dad16a12cf5a37f95c12d233e7c2c4609d0cbbc7","user":{"login":"NAKKA-K","id":22770924,"node_id":"MDQ6VXNlcjIyNzcwOTI0","avatar_url":"https://avatars2.githubusercontent.com/u/22770924?v=4","gravatar_id":"","url":"https://api.github.com/users/NAKKA-K","html_url":"https://github.com/NAKKA-K","followers_url":"https://api.github.com/users/NAKKA-K/followers","following_url":"https://api.github.com/users/NAKKA-K/following{/other_user}","gists_url":"https://api.github.com/users/NAKKA-K/gists{/gist_id}","starred_url":"https://api.github.com/users/NAKKA-K/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NAKKA-K/subscriptions","organizations_url":"https://api.github.com/users/NAKKA-K/orgs","repos_url":"https://api.github.com/users/NAKKA-K/repos","events_url":"https://api.github.com/users/NAKKA-K/events{/privacy}","received_events_url":"https://api.github.com/users/NAKKA-K/received_events","type":"User","site_admin":false},"repo":{"id":154164586,"node_id":"MDEwOlJlcG9zaXRvcnkxNTQxNjQ1ODY=","name":"bookbok","full_name":"NAKKA-K/bookbok","private":false,"owner":{"login":"NAKKA-K","id":22770924,"node_id":"MDQ6VXNlcjIyNzcwOTI0","avatar_url":"https://avatars2.githubusercontent.com/u/22770924?v=4","gravatar_id":"","url":"https://api.github.com/users/NAKKA-K","html_url":"https://github.com/NAKKA-K","followers_url":"https://api.github.com/users/NAKKA-K/followers","following_url":"https://api.github.com/users/NAKKA-K/following{/other_user}","gists_url":"https://api.github.com/users/NAKKA-K/gists{/gist_id}","starred_url":"https://api.github.com/users/NAKKA-K/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NAKKA-K/subscriptions","organizations_url":"https://api.github.com/users/NAKKA-K/orgs","repos_url":"https://api.github.com/users/NAKKA-K/repos","events_url":"https://api.github.com/users/NAKKA-K/events{/privacy}","received_events_url":"https://api.github.com/users/NAKKA-K/received_events","type":"User","site_admin":false},"html_url":"https://github.com/NAKKA-K/bookbok","description":null,"fork":false,"url":"https://api.github.com/repos/NAKKA-K/bookbok","forks_url":"https://api.github.com/repos/NAKKA-K/bookbok/forks","keys_url":"https://api.github.com/repos/NAKKA-K/bookbok/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NAKKA-K/bookbok/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NAKKA-K/bookbok/teams","hooks_url":"https://api.github.com/repos/NAKKA-K/bookbok/hooks","issue_events_url":"https://api.github.com/repos/NAKKA-K/bookbok/issues/events{/number}","events_url":"https://api.github.com/repos/NAKKA-K/bookbok/events","assignees_url":"https://api.github.com/repos/NAKKA-K/bookbok/assignees{/user}","branches_url":"https://api.github.com/repos/NAKKA-K/bookbok/branches{/branch}","tags_url":"https://api.github.com/repos/NAKKA-K/bookbok/tags","blobs_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/refs{/sha}","trees_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NAKKA-K/bookbok/statuses/{sha}","languages_url":"https://api.github.com/repos/NAKKA-K/bookbok/languages","stargazers_url":"https://api.github.com/repos/NAKKA-K/bookbok/stargazers","contributors_url":"https://api.github.com/repos/NAKKA-K/bookbok/contributors","subscribers_url":"https://api.github.com/repos/NAKKA-K/bookbok/subscribers","subscription_url":"https://api.github.com/repos/NAKKA-K/bookbok/subscription","commits_url":"https://api.github.com/repos/NAKKA-K/bookbok/commits{/sha}","git_commits_url":"https://api.github.com/repos/NAKKA-K/bookbok/git/commits{/sha}","comments_url":"https://api.github.com/repos/NAKKA-K/bookbok/comments{/number}","issue_comment_url":"https://api.github.com/repos/NAKKA-K/bookbok/issues/comments{/number}","contents_url":"https://api.github.com/repos/NAKKA-K/bookbok/contents/{+path}","compare_url":"https://api.github.com/repos/NAKKA-K/bookbok/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NAKKA-K/bookbok/merges","archive_url":"https://api.github.com/repos/NAKKA-K/bookbok/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NAKKA-K/bookbok/downloads","issues_url":"https://api.github.com/repos/NAKKA-K/bookbok/issues{/number}","pulls_url":"https://api.github.com/repos/NAKKA-K/bookbok/pulls{/number}","milestones_url":"https://api.github.com/repos/NAKKA-K/bookbok/milestones{/number}","notifications_url":"https://api.github.com/repos/NAKKA-K/bookbok/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NAKKA-K/bookbok/labels{/name}","releases_url":"https://api.github.com/repos/NAKKA-K/bookbok/releases{/id}","deployments_url":"https://api.github.com/repos/NAKKA-K/bookbok/deployments","created_at":"2018-10-22T15:07:02Z","updated_at":"2018-11-25T10:16:41Z","pushed_at":"2018-11-26T02:29:30Z","git_url":"git://github.com/NAKKA-K/bookbok.git","ssh_url":"git@github.com:NAKKA-K/bookbok.git","clone_url":"https://github.com/NAKKA-K/bookbok.git","svn_url":"https://github.com/NAKKA-K/bookbok","homepage":null,"size":1040,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":20,"license":null,"forks":0,"open_issues":20,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/NAKKA-K/bookbok/pulls/103"},"html":{"href":"https://github.com/NAKKA-K/bookbok/pull/103"},"issue":{"href":"https://api.github.com/repos/NAKKA-K/bookbok/issues/103"},"comments":{"href":"https://api.github.com/repos/NAKKA-K/bookbok/issues/103/comments"},"review_comments":{"href":"https://api.github.com/repos/NAKKA-K/bookbok/pulls/103/comments"},"review_comment":{"href":"https://api.github.com/repos/NAKKA-K/bookbok/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/NAKKA-K/bookbok/pulls/103/commits"},"statuses":{"href":"https://api.github.com/repos/NAKKA-K/bookbok/statuses/7225cff41f47b8286559107a7efb41310d21024c"}},"author_association":"COLLABORATOR","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":2,"additions":597,"deletions":3,"changed_files":4}}
{"actor":{"display_login":"kento-oka"}}