{"action":"created","comment":{"url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/comments/193960049","pull_request_review_id":127038140,"id":193960049,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5Mzk2MDA0OQ==","diff_hunk":"@@ -0,0 +1,399 @@\n+'use strict';\n+\n+var NUMBER_OF_ADS = 8;\n+var MAXIMUM_ROOM_COUNT = 5;\n+var MAXIMUM_GUEST_COUNT = 100;\n+\n+/**\n+ * @typedef {Object} AvatarParams\n+ * @property {string} URL\n+ * @property {string} EXTENTION\n+ */\n+var avatarParams = {\n+  URL: 'img/avatars/user',\n+  EXTENSION: '.png'\n+};\n+\n+/**\n+ * @typedef {Objeсt} XCordParams\n+ * @property {number} MINIMUM\n+ * @property {number} MAXIMUM\n+ */\n+var xCordParams = {\n+  MINIMUM: 300,\n+  MAXIMUM: 900\n+};\n+\n+/**\n+ * @typedef {Objeсt} YCordParams\n+ * @property {number} MINIMUM\n+ * @property {number} MAXIMUM\n+ */\n+var yCordParams = {\n+  MINIMUM: 130,\n+  MAXIMUM: 630\n+};\n+\n+/**\n+ * @typedef {Objeсt} PriceParams\n+ * @property {number} MINIMUM\n+ * @property {number} MAXIMUM\n+ */\n+var priceParams = {\n+  MINIMUM: 1000000,\n+  MAXIMUM: 1000\n+};\n+\n+/**\n+ * @typedef {Objeсt} PinCordParams\n+ * @property {number} WIDTH\n+ * @property {number} HEIGHT\n+ */\n+var pinParams = {\n+  WIDTH: 50,\n+  HEIGHT: 70\n+};\n+\n+/**\n+ * @typedef {Object} OfferParams\n+ * @property {Array.<string>} PROPERTY_TITLES\n+ * @property {Array.<string>} TIMES\n+ * @property {Array.<string>} FEATURES\n+ * @property {Array.<string>} PHOTOS\n+ */\n+var offerParams = {\n+  PROPERTY_TITLES: [\n+    'Большая уютная квартира',\n+    'Маленькая неуютная квартира',\n+    'Огромный прекрасный дворец',\n+    'Маленький ужасный дворец',\n+    'Красивый гостевой домик',\n+    'Некрасивый негостеприимный домик',\n+    'Уютное бунгало далеко от моря',\n+    'Неуютное бунгало по колено в воде'\n+  ],\n+\n+  TIMES: [\n+    '12:00',\n+    '13:00',\n+    '14:00'\n+  ],\n+\n+  FEATURES: [\n+    'wifi',\n+    'dishwasher',\n+    'parking',\n+    'washer',\n+    'elevator',\n+    'conditioner'\n+  ],\n+\n+  PHOTOS: [\n+    'http://o0.github.io/assets/images/tokyo/hotel1.jpg',\n+    'http://o0.github.io/assets/images/tokyo/hotel2.jpg',\n+    'http://o0.github.io/assets/images/tokyo/hotel3.jpg'\n+  ]\n+};\n+\n+/**\n+ * @typedef {Object} OfferTypesTranslation\n+ * @property {string} 'flat'\n+ * @property {string} 'palace'\n+ * @property {string} 'house'\n+ * @property {string} 'bungalo'\n+ */\n+var offerTypesTranslation = {\n+  'flat': 'Квартира',\n+  'palace': 'Дворец',\n+  'house': 'Дом',\n+  'bungalo': 'Бунгало',\n+};\n+\n+var mapPins = document.querySelector('.map__pins');\n+var mapTemplate = document.querySelector('template');\n+var mapPinTemplate = mapTemplate.content.querySelector('.map__pin');\n+var map = document.querySelector('.map');\n+var mapCardTemplate = mapTemplate.content.querySelector('.map__card');\n+\n+/**\n+ * Генерирует случайное число в заданном диапазоне\n+ * @param {number} min - минимальное значение генерируемого числа\n+ * @param {number} max - максимальное значение генерируемого числа\n+ * @return {number}\n+ */\n+var getRandomNumber = function (min, max) {\n+  return Math.random() * (max - min) + min;\n+};\n+\n+/**\n+ * Генерирует путь к аватарке\n+ * @param {number} index - порядковый номер аватара\n+ * @return {string}\n+ */\n+var generateAvatarPath = function (index) {\n+  var avatarIndex = index;\n+  if (index < 10) {\n+    avatarIndex = '0' + index;\n+  }\n+\n+  return avatarParams.URL + avatarIndex + avatarParams.EXTENSION;\n+};\n+\n+/**\n+* Определяет тип собственности\n+* @param {string} element - строка, определяющая тип собственности\n+* @return {string}\n+*/\n+var createPropertyType = function (element) {\n+  var propertyType;\n+\n+  if (/квартира/.test(element)) {\n+    propertyType = 'flat';\n+  } else if (/дворец/.test(element)) {\n+    propertyType = 'palace';\n+  } else if (/домик/.test(element)) {\n+    propertyType = 'house';\n+  } else if (/бунгало/.test(element)) {\n+    propertyType = 'bungalo';\n+  }\n+\n+  return propertyType;\n+};\n+\n+/**\n+ * Создает массив случайно расположенных элементов\n+ * @param {Array.<string>} array - массив с исходным списком строк\n+ * @param {number} length - необходимая длина массива\n+ * @param {boolean} unique - определяет будут ли повторяться элементы в новом массиве\n+ * @return {Array.<string>}\n+ */\n+var createRandomArray = function (array, length, unique) {\n+\n+  var newArray = [];\n+  var i = 0;\n+  while (i < length) {\n+    var elementIndex = Math.floor(getRandomNumber(0, array.length));\n+    if ((newArray.indexOf(array[elementIndex]) !== -1) && (unique)) {\n+      continue;\n+    }\n+\n+    i++;\n+    newArray.push(array[elementIndex]);\n+  }\n+\n+  return newArray;\n+};\n+\n+/**\n+ * @typedef {Object} Author\n+ * @property {string} avatar\n+ */\n+\n+/**\n+ * @typedef {Object} Offer\n+ * @property {string} title\n+ * @property {string} adress\n+ * @property {number} price\n+ * @property {string} type\n+ * @property {number} rooms\n+ * @property {number} guests\n+ * @property {string} checkin\n+ * @property {string} checkout\n+ * @property {Array.<string>} features\n+ * @property {string} description\n+ * @property {Array.<string>} photos\n+ */\n+\n+/**\n+ * @typedef {Object} Location\n+ * @property {number} x\n+ * @property {number} y\n+ */\n+\n+/**\n+ * @typedef {Object} Ad\n+ * @property {Author}\n+ * @property {Offer}\n+ * @property {Location}\n+ */\n+\n+/**\n+ * Генерирует объявление\n+ * @param {number} index - порядковый номер элемента из массива данных\n+ * @return {Ad}\n+ */\n+var getAd = function (index) {\n+  var locationX = Math.round(getRandomNumber(xCordParams.MINIMUM, xCordParams.MAXIMUM));\n+  var locationY = Math.round(getRandomNumber(yCordParams.MINIMUM, yCordParams.MAXIMUM));\n+\n+  return {\n+    author: {\n+      avatar: generateAvatarPath(index + 1)\n+    },\n+\n+    offer: {\n+      title: offerParams.PROPERTY_TITLES[index],\n+      address: locationX + ', ' + locationY,\n+      price: Math.round(getRandomNumber(priceParams.MINIMUM, priceParams.MAXIMUM)),\n+      type: createPropertyType(offerParams.PROPERTY_TITLES[index]),\n+      rooms: Math.ceil(getRandomNumber(1, MAXIMUM_ROOM_COUNT)),\n+      guests: Math.ceil(getRandomNumber(1, MAXIMUM_GUEST_COUNT)),\n+      checkin: offerParams.TIMES[Math.floor(getRandomNumber(0, offerParams.TIMES.length))],\n+      checkout: offerParams.TIMES[Math.floor(getRandomNumber(0, offerParams.TIMES.length))],\n+      features: createRandomArray(offerParams.FEATURES, Math.ceil(getRandomNumber(1, offerParams.FEATURES.length)), true),\n+      description: '',\n+      photos: createRandomArray(offerParams.PHOTOS, offerParams.PHOTOS.length, true)\n+    },\n+\n+    location: {\n+      x: locationX,\n+      y: locationY\n+    }\n+  };\n+};\n+\n+/**\n+ * Создает массив объектов похожих объявлений\n+ * @param {number} arrayLength - количество записываемых в массив объявлений\n+ * @return {Array.<Ad>}\n+ */\n+var getAds = function (arrayLength) {\n+  var similarAds = [];\n+\n+  for (var i = 0; i < arrayLength; i++) {\n+    similarAds.push(getAd(i));\n+  }\n+\n+  return similarAds;\n+};\n+\n+/**\n+ * Генерирует метку на карте из массива данных\n+ * @param {Array.<Object>} array - массив с исходными данными\n+ * @param {number} index - порядковый номер элемента в массиве\n+ * @return {Node}\n+ */\n+var createMapPinFromArray = function (array, index) {\n+  var mapPin = mapPinTemplate.cloneNode(true);\n+  var mapPinImage = mapPin.querySelector('img');\n+  mapPin.style.left = (array[index].location.x - pinParams.WIDTH / 2) + 'px';\n+  mapPin.style.top = (array[index].location.y - pinParams.HEIGHT) + 'px';\n+  mapPinImage.src = array[index].author.avatar;\n+  mapPinImage.alt = array[index].offer.title;\n+  return mapPin;\n+};\n+\n+/**\n+ * Создает DOM-элементы, соответствующие меткам на карте\n+ * @param {Array.<Ad>} array - массив объектов с исходными данными\n+ * @return {Node}\n+ */\n+var createPins = function (array) {\n+  var fragment = document.createDocumentFragment();\n+\n+  for (var i = 0; i < array.length; i++) {\n+    fragment.appendChild(createMapPinFromArray(array, i));\n+  }\n+\n+  return fragment;\n+};\n+\n+/**\n+ * Генерирует элемент списка характеристик\n+ * @param {string} text - текст, прибавляемый к классу элемента\n+ * @return {Node}\n+ */\n+var createFeature = function (text) {\n+  var mapNewFeature = document.createElement('li');\n+  mapNewFeature.classList.add('popup__feature');\n+  mapNewFeature.classList.add('popup__feature--' + text);\n+  return mapNewFeature;\n+};\n+\n+/**\n+ * Создает DOM-элементы (набор изображений) и добавляет их в родительский блок\n+ * @param {Node} element - исходный DOM-элемент\n+ * @param {string} link - адрес картинки\n+ * @return {Node}\n+ */\n+var addPhotoImage = function (element, link) {\n+  element = element.cloneNode(true);\n+  element.src = link;\n+  return element;\n+};\n+\n+\n+/**\n+ * Генерирует строку текста с правильными окончаниями\n+ * @param {number} numberRooms - количество комнат\n+ * @param {number} numberGuests - количество гостей\n+ * @return {string}\n+ */\n+var getString = function (numberRooms, numberGuests) {\n+  var rooms = ' комнат для ';\n+  var guests = ' гостей';\n+\n+  if ((numberRooms + 10) % 10 === 1) {\n+    rooms = ' комната для ';\n+  } else if ((numberRooms + 10) % 10 > 1 && (numberRooms + 10) % 10 < 5) {\n+    rooms = ' комнаты для ';\n+  }\n+\n+  if ((numberGuests + 10) % 10 === 1) {\n+    guests = ' гостя';\n+  }\n+\n+  return numberRooms + rooms + numberGuests + guests;\n+};\n+\n+/**\n+ * Создает DOM-элемент объявления\n+ * @param {Ad} object - объект, содержащий данные для создания DOM-элементов\n+ * @return {Node}\n+ */\n+var createMapCard = function (object) {\n+  var mapCard = mapCardTemplate.cloneNode(true);\n+  var featuresBlock = mapCard.querySelector('.popup__features');\n+  var photoBlock = mapCard.querySelector('.popup__photos');\n+  mapCard.querySelector('.popup__title').textContent = object.offer.title;\n+  mapCard.querySelector('.popup__text--address').textContent = object.offer.adress;\n+  mapCard.querySelector('.popup__text--price').textContent = object.offer.price + '₽/ночь';\n+  mapCard.querySelector('.popup__type').textContent = offerTypesTranslation[object.offer.type];\n+  mapCard.querySelector('.popup__text--capacity').textContent = getString(object.offer.rooms, object.offer.guests);\n+  mapCard.querySelector('.popup__text--time').textContent = 'Заезд после ' + object.offer.checkin + ', выезд до ' + object.offer.checkout;\n+  mapCard.querySelector('.popup__description').textContent = object.offer.description;\n+\n+  var featureFragment = document.createDocumentFragment();\n+  for (var i = 0; i < object.offer.features.length; i++) {\n+    featureFragment.appendChild(createFeature(object.offer.features[i]));\n+  }\n+\n+  featuresBlock.appendChild(featureFragment);\n+\n+  var photoItem = photoBlock.querySelector('.popup__photo');\n+  photoItem.remove();\n+  var photoFragment = document.createDocumentFragment();\n+  for (var j = 0; j < object.offer.photos.length; j++) {","path":"js/map.js","position":376,"original_position":376,"commit_id":"1f4b12b4a172ec0e888891c39bd95216cf01504f","original_commit_id":"1f4b12b4a172ec0e888891c39bd95216cf01504f","user":{"login":"fyvfyv","id":3251438,"node_id":"MDQ6VXNlcjMyNTE0Mzg=","avatar_url":"https://avatars2.githubusercontent.com/u/3251438?v=4","gravatar_id":"","url":"https://api.github.com/users/fyvfyv","html_url":"https://github.com/fyvfyv","followers_url":"https://api.github.com/users/fyvfyv/followers","following_url":"https://api.github.com/users/fyvfyv/following{/other_user}","gists_url":"https://api.github.com/users/fyvfyv/gists{/gist_id}","starred_url":"https://api.github.com/users/fyvfyv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fyvfyv/subscriptions","organizations_url":"https://api.github.com/users/fyvfyv/orgs","repos_url":"https://api.github.com/users/fyvfyv/repos","events_url":"https://api.github.com/users/fyvfyv/events{/privacy}","received_events_url":"https://api.github.com/users/fyvfyv/received_events","type":"User","site_admin":false},"body":"Но вообще пора разобраться с хорошими практиками перебора массивов.\r\nА хороший подход для итерации по массиву — это использовать соответствующий метод. В данном случае forEach\r\nА в качестве дополнительной нагрузки можно ознакомиться на MDN ещё и с map / reduce / filter / some / every и т. п.\r\nИ заодно решить задачи:\r\n\r\nhttps://www.codewars.com/kata/578aa45ee9fd15ff4600090d\r\nhttps://www.codewars.com/kata/585d7d5adb20cf33cb000235\r\nhttps://www.codewars.com/kata/585d8c8a28bc7403ea0000c3","created_at":"2018-06-08T06:05:58Z","updated_at":"2018-06-08T06:06:36Z","html_url":"https://github.com/htmlacademy-javascript/478709-keksobooking/pull/2#discussion_r193960049","pull_request_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/2","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/comments/193960049"},"html":{"href":"https://github.com/htmlacademy-javascript/478709-keksobooking/pull/2#discussion_r193960049"},"pull_request":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/2"}},"in_reply_to_id":193959992},"pull_request":{"url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/2","id":193066299,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzMDY2Mjk5","html_url":"https://github.com/htmlacademy-javascript/478709-keksobooking/pull/2","diff_url":"https://github.com/htmlacademy-javascript/478709-keksobooking/pull/2.diff","patch_url":"https://github.com/htmlacademy-javascript/478709-keksobooking/pull/2.patch","issue_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/issues/2","number":2,"state":"open","locked":false,"title":"Личный проект: пока все дома","user":{"login":"mika193","id":36661070,"node_id":"MDQ6VXNlcjM2NjYxMDcw","avatar_url":"https://avatars0.githubusercontent.com/u/36661070?v=4","gravatar_id":"","url":"https://api.github.com/users/mika193","html_url":"https://github.com/mika193","followers_url":"https://api.github.com/users/mika193/followers","following_url":"https://api.github.com/users/mika193/following{/other_user}","gists_url":"https://api.github.com/users/mika193/gists{/gist_id}","starred_url":"https://api.github.com/users/mika193/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mika193/subscriptions","organizations_url":"https://api.github.com/users/mika193/orgs","repos_url":"https://api.github.com/users/mika193/repos","events_url":"https://api.github.com/users/mika193/events{/privacy}","received_events_url":"https://api.github.com/users/mika193/received_events","type":"User","site_admin":false},"body":"\n\n---\n:mortar_board: [Личный проект: пока все дома](https://up.htmlacademy.ru/javascript/14/user/478709/tasks/13)\n\n:boom: https://htmlacademy-javascript.github.io/478709-keksobooking/2/","created_at":"2018-06-06T16:09:59Z","updated_at":"2018-06-08T06:06:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0070f9d047bdb5100c3df185d105142e11f75987","assignee":{"login":"fyvfyv","id":3251438,"node_id":"MDQ6VXNlcjMyNTE0Mzg=","avatar_url":"https://avatars2.githubusercontent.com/u/3251438?v=4","gravatar_id":"","url":"https://api.github.com/users/fyvfyv","html_url":"https://github.com/fyvfyv","followers_url":"https://api.github.com/users/fyvfyv/followers","following_url":"https://api.github.com/users/fyvfyv/following{/other_user}","gists_url":"https://api.github.com/users/fyvfyv/gists{/gist_id}","starred_url":"https://api.github.com/users/fyvfyv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fyvfyv/subscriptions","organizations_url":"https://api.github.com/users/fyvfyv/orgs","repos_url":"https://api.github.com/users/fyvfyv/repos","events_url":"https://api.github.com/users/fyvfyv/events{/privacy}","received_events_url":"https://api.github.com/users/fyvfyv/received_events","type":"User","site_admin":false},"assignees":[{"login":"fyvfyv","id":3251438,"node_id":"MDQ6VXNlcjMyNTE0Mzg=","avatar_url":"https://avatars2.githubusercontent.com/u/3251438?v=4","gravatar_id":"","url":"https://api.github.com/users/fyvfyv","html_url":"https://github.com/fyvfyv","followers_url":"https://api.github.com/users/fyvfyv/followers","following_url":"https://api.github.com/users/fyvfyv/following{/other_user}","gists_url":"https://api.github.com/users/fyvfyv/gists{/gist_id}","starred_url":"https://api.github.com/users/fyvfyv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fyvfyv/subscriptions","organizations_url":"https://api.github.com/users/fyvfyv/orgs","repos_url":"https://api.github.com/users/fyvfyv/repos","events_url":"https://api.github.com/users/fyvfyv/events{/privacy}","received_events_url":"https://api.github.com/users/fyvfyv/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/2/commits","review_comments_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/2/comments","review_comment_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/comments{/number}","comments_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/issues/2/comments","statuses_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/statuses/1f4b12b4a172ec0e888891c39bd95216cf01504f","head":{"label":"mika193:module3-task1","ref":"module3-task1","sha":"1f4b12b4a172ec0e888891c39bd95216cf01504f","user":{"login":"mika193","id":36661070,"node_id":"MDQ6VXNlcjM2NjYxMDcw","avatar_url":"https://avatars0.githubusercontent.com/u/36661070?v=4","gravatar_id":"","url":"https://api.github.com/users/mika193","html_url":"https://github.com/mika193","followers_url":"https://api.github.com/users/mika193/followers","following_url":"https://api.github.com/users/mika193/following{/other_user}","gists_url":"https://api.github.com/users/mika193/gists{/gist_id}","starred_url":"https://api.github.com/users/mika193/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mika193/subscriptions","organizations_url":"https://api.github.com/users/mika193/orgs","repos_url":"https://api.github.com/users/mika193/repos","events_url":"https://api.github.com/users/mika193/events{/privacy}","received_events_url":"https://api.github.com/users/mika193/received_events","type":"User","site_admin":false},"repo":{"id":135339458,"node_id":"MDEwOlJlcG9zaXRvcnkxMzUzMzk0NTg=","name":"478709-keksobooking","full_name":"mika193/478709-keksobooking","owner":{"login":"mika193","id":36661070,"node_id":"MDQ6VXNlcjM2NjYxMDcw","avatar_url":"https://avatars0.githubusercontent.com/u/36661070?v=4","gravatar_id":"","url":"https://api.github.com/users/mika193","html_url":"https://github.com/mika193","followers_url":"https://api.github.com/users/mika193/followers","following_url":"https://api.github.com/users/mika193/following{/other_user}","gists_url":"https://api.github.com/users/mika193/gists{/gist_id}","starred_url":"https://api.github.com/users/mika193/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mika193/subscriptions","organizations_url":"https://api.github.com/users/mika193/orgs","repos_url":"https://api.github.com/users/mika193/repos","events_url":"https://api.github.com/users/mika193/events{/privacy}","received_events_url":"https://api.github.com/users/mika193/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mika193/478709-keksobooking","description":"Валерия Ларионова","fork":true,"url":"https://api.github.com/repos/mika193/478709-keksobooking","forks_url":"https://api.github.com/repos/mika193/478709-keksobooking/forks","keys_url":"https://api.github.com/repos/mika193/478709-keksobooking/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mika193/478709-keksobooking/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mika193/478709-keksobooking/teams","hooks_url":"https://api.github.com/repos/mika193/478709-keksobooking/hooks","issue_events_url":"https://api.github.com/repos/mika193/478709-keksobooking/issues/events{/number}","events_url":"https://api.github.com/repos/mika193/478709-keksobooking/events","assignees_url":"https://api.github.com/repos/mika193/478709-keksobooking/assignees{/user}","branches_url":"https://api.github.com/repos/mika193/478709-keksobooking/branches{/branch}","tags_url":"https://api.github.com/repos/mika193/478709-keksobooking/tags","blobs_url":"https://api.github.com/repos/mika193/478709-keksobooking/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mika193/478709-keksobooking/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mika193/478709-keksobooking/git/refs{/sha}","trees_url":"https://api.github.com/repos/mika193/478709-keksobooking/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mika193/478709-keksobooking/statuses/{sha}","languages_url":"https://api.github.com/repos/mika193/478709-keksobooking/languages","stargazers_url":"https://api.github.com/repos/mika193/478709-keksobooking/stargazers","contributors_url":"https://api.github.com/repos/mika193/478709-keksobooking/contributors","subscribers_url":"https://api.github.com/repos/mika193/478709-keksobooking/subscribers","subscription_url":"https://api.github.com/repos/mika193/478709-keksobooking/subscription","commits_url":"https://api.github.com/repos/mika193/478709-keksobooking/commits{/sha}","git_commits_url":"https://api.github.com/repos/mika193/478709-keksobooking/git/commits{/sha}","comments_url":"https://api.github.com/repos/mika193/478709-keksobooking/comments{/number}","issue_comment_url":"https://api.github.com/repos/mika193/478709-keksobooking/issues/comments{/number}","contents_url":"https://api.github.com/repos/mika193/478709-keksobooking/contents/{+path}","compare_url":"https://api.github.com/repos/mika193/478709-keksobooking/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mika193/478709-keksobooking/merges","archive_url":"https://api.github.com/repos/mika193/478709-keksobooking/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mika193/478709-keksobooking/downloads","issues_url":"https://api.github.com/repos/mika193/478709-keksobooking/issues{/number}","pulls_url":"https://api.github.com/repos/mika193/478709-keksobooking/pulls{/number}","milestones_url":"https://api.github.com/repos/mika193/478709-keksobooking/milestones{/number}","notifications_url":"https://api.github.com/repos/mika193/478709-keksobooking/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mika193/478709-keksobooking/labels{/name}","releases_url":"https://api.github.com/repos/mika193/478709-keksobooking/releases{/id}","deployments_url":"https://api.github.com/repos/mika193/478709-keksobooking/deployments","created_at":"2018-05-29T18:49:39Z","updated_at":"2018-06-05T19:56:24Z","pushed_at":"2018-06-07T20:57:35Z","git_url":"git://github.com/mika193/478709-keksobooking.git","ssh_url":"git@github.com:mika193/478709-keksobooking.git","clone_url":"https://github.com/mika193/478709-keksobooking.git","svn_url":"https://github.com/mika193/478709-keksobooking","homepage":null,"size":890,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"htmlacademy-javascript:master","ref":"master","sha":"8cb91cde8d74cdf78647b732ab3ef57ed2e9e9fe","user":{"login":"htmlacademy-javascript","id":14179712,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTc5NzEy","avatar_url":"https://avatars2.githubusercontent.com/u/14179712?v=4","gravatar_id":"","url":"https://api.github.com/users/htmlacademy-javascript","html_url":"https://github.com/htmlacademy-javascript","followers_url":"https://api.github.com/users/htmlacademy-javascript/followers","following_url":"https://api.github.com/users/htmlacademy-javascript/following{/other_user}","gists_url":"https://api.github.com/users/htmlacademy-javascript/gists{/gist_id}","starred_url":"https://api.github.com/users/htmlacademy-javascript/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/htmlacademy-javascript/subscriptions","organizations_url":"https://api.github.com/users/htmlacademy-javascript/orgs","repos_url":"https://api.github.com/users/htmlacademy-javascript/repos","events_url":"https://api.github.com/users/htmlacademy-javascript/events{/privacy}","received_events_url":"https://api.github.com/users/htmlacademy-javascript/received_events","type":"Organization","site_admin":false},"repo":{"id":135339324,"node_id":"MDEwOlJlcG9zaXRvcnkxMzUzMzkzMjQ=","name":"478709-keksobooking","full_name":"htmlacademy-javascript/478709-keksobooking","owner":{"login":"htmlacademy-javascript","id":14179712,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTc5NzEy","avatar_url":"https://avatars2.githubusercontent.com/u/14179712?v=4","gravatar_id":"","url":"https://api.github.com/users/htmlacademy-javascript","html_url":"https://github.com/htmlacademy-javascript","followers_url":"https://api.github.com/users/htmlacademy-javascript/followers","following_url":"https://api.github.com/users/htmlacademy-javascript/following{/other_user}","gists_url":"https://api.github.com/users/htmlacademy-javascript/gists{/gist_id}","starred_url":"https://api.github.com/users/htmlacademy-javascript/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/htmlacademy-javascript/subscriptions","organizations_url":"https://api.github.com/users/htmlacademy-javascript/orgs","repos_url":"https://api.github.com/users/htmlacademy-javascript/repos","events_url":"https://api.github.com/users/htmlacademy-javascript/events{/privacy}","received_events_url":"https://api.github.com/users/htmlacademy-javascript/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/htmlacademy-javascript/478709-keksobooking","description":"Валерия Ларионова","fork":false,"url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking","forks_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/forks","keys_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/keys{/key_id}","collaborators_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/teams","hooks_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/hooks","issue_events_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/issues/events{/number}","events_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/events","assignees_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/assignees{/user}","branches_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/branches{/branch}","tags_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/tags","blobs_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/git/refs{/sha}","trees_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/git/trees{/sha}","statuses_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/statuses/{sha}","languages_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/languages","stargazers_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/stargazers","contributors_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/contributors","subscribers_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/subscribers","subscription_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/subscription","commits_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/commits{/sha}","git_commits_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/git/commits{/sha}","comments_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/comments{/number}","issue_comment_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/issues/comments{/number}","contents_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/contents/{+path}","compare_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/compare/{base}...{head}","merges_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/merges","archive_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/downloads","issues_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/issues{/number}","pulls_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls{/number}","milestones_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/milestones{/number}","notifications_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/labels{/name}","releases_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/releases{/id}","deployments_url":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/deployments","created_at":"2018-05-29T18:48:24Z","updated_at":"2018-05-29T20:02:20Z","pushed_at":"2018-06-07T20:58:48Z","git_url":"git://github.com/htmlacademy-javascript/478709-keksobooking.git","ssh_url":"git@github.com:htmlacademy-javascript/478709-keksobooking.git","clone_url":"https://github.com/htmlacademy-javascript/478709-keksobooking.git","svn_url":"https://github.com/htmlacademy-javascript/478709-keksobooking","homepage":"https://github.com/mika193/478709-keksobooking","size":894,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":true,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/2"},"html":{"href":"https://github.com/htmlacademy-javascript/478709-keksobooking/pull/2"},"issue":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/issues/2"},"comments":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/htmlacademy-javascript/478709-keksobooking/statuses/1f4b12b4a172ec0e888891c39bd95216cf01504f"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"fyvfyv"}}