{"action":"created","comment":{"url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/comments/201018377","pull_request_review_id":135436850,"id":201018377,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMTAxODM3Nw==","diff_hunk":"@@ -0,0 +1,583 @@\n+#!/usr/bin/env ruby\n+# -*- ruby -*-\n+# rubocop:disable UtilityFunction, UncommunicativeVariableName, UncommunicativeParameterName\n+\n+begin\n+  require 'win32console'\n+rescue LoadError\n+end\n+\n+# --------------------------------------------------------------------\n+# Support code for the Ruby Koans.\n+# --------------------------------------------------------------------\n+\n+class FillMeInError < StandardError\n+end\n+\n+#def ruby_version?(version)\n+#  RUBY_VERSION =~ /^#{version}/ ||\n+#    (version == 'jruby' && defined?(JRUBY_VERSION)) ||\n+#    (version == 'mri' && ! defined?(JRUBY_VERSION))\n+#end\n+\n+def in_ruby_version(*versions)\n+  yield if versions.any? { |version| RUBY_VERSION =~ /^#{version}/ ||\n+  (version == 'jruby' && defined?(JRUBY_VERSION)) ||\n+  (version == 'mri' && ! defined?(JRUBY_VERSION))\n+}\n+end\n+\n+in_ruby_version(\"1.8\") do\n+  class KeyError < StandardError\n+  end\n+end\n+\n+# Standard, generic replacement value.\n+# If value19 is given, it is used in place of value for Ruby 1.9.\n+def __(value=\"FILL ME IN\", value19=:mu)\n+  if RUBY_VERSION < \"1.9\"\n+    value\n+  else\n+    (value19 == :mu) ? value : value19\n+  end\n+end\n+\n+# Numeric replacement value.\n+def _n_(value=999999, value19=:mu)\n+  if RUBY_VERSION < \"1.9\"\n+    value\n+  else\n+    (value19 == :mu) ? value : value19\n+  end\n+end\n+\n+# Error object replacement value.\n+def ___(value=FillMeInError, value19=:mu)\n+  if RUBY_VERSION < \"1.9\"\n+    value\n+  else\n+    (value19 == :mu) ? value : value19\n+  end\n+end\n+\n+# Method name replacement.\n+class Object\n+  def ____(method=nil)\n+    if method\n+      self.send(method)\n+    end\n+  end\n+\n+  in_ruby_version(\"1.9\", \"2\") do\n+    public :method_missing\n+  end\n+end\n+\n+class String\n+  def side_padding(width)\n+    extra = width - self.size\n+    if width < 0\n+      self\n+    else\n+      left_padding = extra / 2\n+      right_padding = (extra+1)/2\n+      (\" \" * left_padding) + self + (\" \" *right_padding)\n+    end\n+  end\n+end\n+\n+module Neo\n+  class << self\n+    def simple_output\n+      ENV['SIMPLE_KOAN_OUTPUT'] == 'true'\n+    end\n+  end\n+\n+  module Color\n+    #shamelessly stolen (and modified) from redgreen\n+    COLORS = {\n+      :clear   => 0,  :black   => 30, :red   => 31,\n+      :green   => 32, :yellow  => 33, :blue  => 34,\n+      :magenta => 35, :cyan    => 36,\n+    }\n+\n+    module_function\n+\n+    COLORS.each do |color, value|\n+      module_eval \"def #{color}(string); colorize(string, #{value}); end\"\n+      module_function color\n+    end\n+\n+    def colorize(string, color_value)\n+      if use_colors?\n+        color(color_value) + string + color(COLORS[:clear])\n+      else\n+        string\n+      end\n+    end\n+\n+    def color(color_value)\n+      \"\\e[#{color_value}m\"\n+    end\n+\n+    def use_colors?\n+      return false if ENV['NO_COLOR']\n+      if ENV['ANSI_COLOR'].nil?\n+        if using_windows?\n+          using_win32console\n+        else\n+          return true\n+        end\n+      else\n+        ENV['ANSI_COLOR'] =~ /^(t|y)/i\n+      end\n+    end\n+\n+    def using_windows?\n+      File::ALT_SEPARATOR\n+    end\n+\n+    def using_win32console\n+      defined? Win32::Console\n+    end\n+  end\n+\n+  module Assertions\n+    FailedAssertionError = Class.new(StandardError)\n+\n+    def flunk(msg)\n+      raise FailedAssertionError, msg\n+    end\n+\n+    def assert(condition, msg=nil)\n+      msg ||= \"Failed assertion.\"\n+      flunk(msg) unless condition\n+      true\n+    end\n+\n+    def assert_equal(expected, actual, msg=nil)\n+      msg ||= \"Expected #{expected.inspect} to equal #{actual.inspect}\"\n+      assert(expected == actual, msg)\n+    end\n+\n+    def assert_not_equal(expected, actual, msg=nil)\n+      msg ||= \"Expected #{expected.inspect} to not equal #{actual.inspect}\"\n+      assert(expected != actual, msg)\n+    end\n+\n+    def assert_nil(actual, msg=nil)\n+      msg ||= \"Expected #{actual.inspect} to be nil\"\n+      assert(nil == actual, msg)\n+    end\n+\n+    def assert_not_nil(actual, msg=nil)\n+      msg ||= \"Expected #{actual.inspect} to not be nil\"\n+      assert(nil != actual, msg)\n+    end\n+\n+    def assert_match(pattern, actual, msg=nil)\n+      msg ||= \"Expected #{actual.inspect} to match #{pattern.inspect}\"\n+      assert pattern =~ actual, msg\n+    end\n+\n+    def assert_raise(exception)\n+      begin\n+        yield\n+      rescue Exception => ex\n+        expected = ex.is_a?(exception)\n+        assert(expected, \"Exception #{exception.inspect} expected, but #{ex.inspect} was raised\")\n+        return ex\n+      end\n+      flunk \"Exception #{exception.inspect} expected, but nothing raised\"\n+    end\n+\n+    def assert_nothing_raised\n+      begin\n+        yield\n+      rescue Exception => ex\n+        flunk \"Expected nothing to be raised, but exception #{exception.inspect} was raised\"\n+      end\n+    end\n+  end\n+\n+  class Sensei\n+    attr_reader :failure, :failed_test, :pass_count\n+\n+    FailedAssertionError = Assertions::FailedAssertionError\n+\n+    def initialize\n+      @pass_count = 0\n+      @failure = nil\n+      @failed_test = nil\n+      @observations = []\n+    end\n+\n+    PROGRESS_FILE_NAME = '.path_progress'\n+\n+    def add_progress(prog)\n+      @_contents = nil\n+      exists = File.exists?(PROGRESS_FILE_NAME)\n+      File.open(PROGRESS_FILE_NAME,'a+') do |file|\n+        file.print \"#{',' if exists}#{prog}\"\n+      end\n+    end\n+\n+    def progress\n+      if @_contents.nil?\n+        if File.exists?(PROGRESS_FILE_NAME)\n+          File.open(PROGRESS_FILE_NAME,'r') do |file|\n+            @_contents = file.read.to_s.gsub(/\\s/,'').split(',')\n+          end\n+        else\n+          @_contents = []\n+        end\n+      end\n+      @_contents\n+    end\n+\n+    def observe(step)\n+      if step.passed?\n+        @pass_count += 1\n+        if @pass_count > progress.last.to_i\n+          @observations << Color.green(\"#{step.koan_file}##{step.name} has expanded your awareness.\")\n+        end\n+      else\n+        @failed_test = step\n+        @failure = step.failure\n+        add_progress(@pass_count)\n+        @observations << Color.red(\"#{step.koan_file}##{step.name} has damaged your karma.\")\n+        throw :neo_exit\n+      end\n+    end\n+\n+    def failed?\n+      ! @failure.nil?\n+    end\n+\n+    def assert_failed?\n+      failure.is_a?(FailedAssertionError)\n+    end\n+\n+    def instruct\n+      if failed?\n+        @observations.each{|comment| puts comment }\n+        encourage\n+        guide_through_error\n+        a_zenlike_statement\n+        show_progress\n+      else\n+        end_screen\n+      end\n+    end\n+\n+    def show_progress\n+      bar_width = 50\n+      total_tests = Neo::Koan.total_tests\n+      scale = bar_width.to_f/total_tests\n+      first_tail(happy_steps, scale)\n+#      print Color.green(\"your path thus far [\")\n+#      happy_steps = (pass_count*scale).to_i\n+#      happy_steps = 1 if happy_steps == 0 && pass_count > 0\n+#      print Color.green('.'*happy_steps)\n+#      if failed?\n+#        print Color.red('X')\n+#        print Color.cyan('_'*(bar_width-1-happy_steps))\n+#      end\n+#      print Color.green(']')\n+#      print \" #{pass_count}/#{total_tests}\"\n+#      puts\n+    end\n+\n+    def first_tail(happy_steps, scale)\n+      print Color.green(\"your path thus far [\")\n+      happy_steps = (pass_count*scale).to_i\n+      happy_steps = 1 if happy_steps == 0 && pass_count > 0\n+      failed_checker\n+    end\n+\n+    def failed_checker\n+      print Color.green('.'*happy_steps)\n+      if failed?\n+        print Color.red('X')\n+        print Color.cyan('_'*(bar_width-1-happy_steps))\n+      end\n+      last_tail\n+    end\n+\n+    def last_tail\n+      print Color.green(']')\n+      print \" #{pass_count}/#{total_tests}\"\n+      puts\n+    end\n+\n+    def end_screen\n+      if Neo.simple_output\n+        boring_end_screen\n+      else\n+        artistic_end_screen\n+      end\n+    end\n+\n+    def boring_end_screen\n+      puts \"Mountains are again merely mountains\"\n+    end\n+\n+    def artistic_end_screen\n+      \"JRuby 1.9.x Koans\"\n+      ruby_version = \"(in #{'J' if defined?(JRUBY_VERSION)}Ruby #{defined?(JRUBY_VERSION) ? JRUBY_VERSION : RUBY_VERSION})\"\n+      ruby_version = ruby_version.side_padding(54)\n+        completed = <<-ENDTEXT\n+                                  ,,   ,  ,,\n+                                :      ::::,    :::,\n+                   ,        ,,: :::::::::::::,,  ::::   :  ,\n+                 ,       ,,,   ,:::::::::::::::::::,  ,:  ,: ,,\n+            :,        ::,  , , :, ,::::::::::::::::::, :::  ,::::\n+           :   :    ::,                          ,:::::::: ::, ,::::\n+          ,     ,:::::                                  :,:::::::,::::,\n+      ,:     , ,:,,:                                       :::::::::::::\n+     ::,:   ,,:::,                                           ,::::::::::::,\n+    ,:::, :,,:::                                               ::::::::::::,\n+   ,::: :::::::,       Mountains are again merely mountains     ,::::::::::::\n+   :::,,,::::::                                                   ::::::::::::\n+ ,:::::::::::,                                                    ::::::::::::,\n+ :::::::::::,                                                     ,::::::::::::\n+:::::::::::::                                                     ,::::::::::::\n+::::::::::::                      Ruby Koans                       ::::::::::::\n+::::::::::::#{                  ruby_version                     },::::::::::::\n+:::::::::::,                                                      , :::::::::::\n+,:::::::::::::,                brought to you by                 ,,::::::::::::\n+::::::::::::::                                                    ,::::::::::::\n+ ::::::::::::::,                                                 ,:::::::::::::\n+ ::::::::::::,               Neo Software Artisans              , ::::::::::::\n+  :,::::::::: ::::                                               :::::::::::::\n+   ,:::::::::::  ,:                                          ,,:::::::::::::,\n+     ::::::::::::                                           ,::::::::::::::,\n+      :::::::::::::::::,                                  ::::::::::::::::\n+       :::::::::::::::::::,                             ::::::::::::::::\n+        ::::::::::::::::::::::,                     ,::::,:, , ::::,:::\n+          :::::::::::::::::::::::,               ::,: ::,::, ,,: ::::\n+              ,::::::::::::::::::::              ::,,  , ,,  ,::::\n+                 ,::::::::::::::::              ::,, ,   ,:::,\n+                      ,::::                         , ,,\n+                                                  ,,,\n+ENDTEXT\n+        puts completed\n+    end\n+\n+    def encourage\n+      puts\n+      puts \"The Master says:\"\n+      puts Color.cyan(\"  You have not yet reached enlightenment.\")\n+      if ((recents = progress.last(5)) && recents.size == 5 && recents.uniq.size == 1)\n+        puts Color.cyan(\"  I sense frustration. Do not be afraid to ask for help.\")\n+      elsif progress.last(2).size == 2 && progress.last(2).uniq.size == 1\n+        puts Color.cyan(\"  Do not lose hope.\")\n+      elsif progress.last.to_i > 0\n+        puts Color.cyan(\"  You are progressing. Excellent. #{progress.last} completed.\")\n+      end\n+    end\n+\n+    def find_interesting_lines(backtrace)\n+      backtrace.reject { |line|\n+        line =~ /neo\\.rb/\n+      }\n+    end\n+\n+    def indent(text)\n+      text = text.split(/\\n/) if text.is_a?(String)\n+      text.collect{|type| \"  #{type}\"}\n+    end\n+\n+    def embolden_first_line_only(text)\n+      first_line = true\n+      text.collect { |type|\n+        if first_line\n+          first_line = false\n+          Color.red(type)\n+        else\n+          Color.cyan(type)\n+        end\n+      }\n+    end\n+\n+    def guide_through_error","path":"2211/1/ruby_koans/koans/neo.rb","position":403,"original_position":403,"commit_id":"28002f161419956f154a92e97a2d7d9bf4546db3","original_commit_id":"28002f161419956f154a92e97a2d7d9bf4546db3","user":{"login":"houndci-bot","id":6697940,"node_id":"MDQ6VXNlcjY2OTc5NDA=","avatar_url":"https://avatars0.githubusercontent.com/u/6697940?v=4","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"TooManyStatements: Neo::Sensei#guide_through_error has approx 7 statements. [More info](https://github.com/troessner/reek/blob/master/docs/Too-Many-Statements.md).","created_at":"2018-07-09T14:17:18Z","updated_at":"2018-07-09T14:17:19Z","html_url":"https://github.com/rubizza-survival-camp/summer-2018/pull/106#discussion_r201018377","pull_request_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/106","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/comments/201018377"},"html":{"href":"https://github.com/rubizza-survival-camp/summer-2018/pull/106#discussion_r201018377"},"pull_request":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/106"}}},"pull_request":{"url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/106","id":200047383,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAwMDQ3Mzgz","html_url":"https://github.com/rubizza-survival-camp/summer-2018/pull/106","diff_url":"https://github.com/rubizza-survival-camp/summer-2018/pull/106.diff","patch_url":"https://github.com/rubizza-survival-camp/summer-2018/pull/106.patch","issue_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/issues/106","number":106,"state":"open","locked":false,"title":"2211 - 1","user":{"login":"TanyaAkulich","id":32651409,"node_id":"MDQ6VXNlcjMyNjUxNDA5","avatar_url":"https://avatars1.githubusercontent.com/u/32651409?v=4","gravatar_id":"","url":"https://api.github.com/users/TanyaAkulich","html_url":"https://github.com/TanyaAkulich","followers_url":"https://api.github.com/users/TanyaAkulich/followers","following_url":"https://api.github.com/users/TanyaAkulich/following{/other_user}","gists_url":"https://api.github.com/users/TanyaAkulich/gists{/gist_id}","starred_url":"https://api.github.com/users/TanyaAkulich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TanyaAkulich/subscriptions","organizations_url":"https://api.github.com/users/TanyaAkulich/orgs","repos_url":"https://api.github.com/users/TanyaAkulich/repos","events_url":"https://api.github.com/users/TanyaAkulich/events{/privacy}","received_events_url":"https://api.github.com/users/TanyaAkulich/received_events","type":"User","site_admin":false},"body":"## Номер\r\n2211\r\n\r\n## Номер задания\r\n1\r\n\r\n## Ссылка на видео с демо\r\nhttps://www.youtube.com/watch?time_continue=1&v=gMQAujJs6t0\r\n\r\n## Комментарии\r\n","created_at":"2018-07-09T09:54:09Z","updated_at":"2018-07-09T14:17:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b91e8b9d054dfd4d16e36f918f59e5f2e1b8574e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/106/commits","review_comments_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/106/comments","review_comment_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/issues/106/comments","statuses_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/statuses/28002f161419956f154a92e97a2d7d9bf4546db3","head":{"label":"TanyaAkulich:1","ref":"1","sha":"28002f161419956f154a92e97a2d7d9bf4546db3","user":{"login":"TanyaAkulich","id":32651409,"node_id":"MDQ6VXNlcjMyNjUxNDA5","avatar_url":"https://avatars1.githubusercontent.com/u/32651409?v=4","gravatar_id":"","url":"https://api.github.com/users/TanyaAkulich","html_url":"https://github.com/TanyaAkulich","followers_url":"https://api.github.com/users/TanyaAkulich/followers","following_url":"https://api.github.com/users/TanyaAkulich/following{/other_user}","gists_url":"https://api.github.com/users/TanyaAkulich/gists{/gist_id}","starred_url":"https://api.github.com/users/TanyaAkulich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TanyaAkulich/subscriptions","organizations_url":"https://api.github.com/users/TanyaAkulich/orgs","repos_url":"https://api.github.com/users/TanyaAkulich/repos","events_url":"https://api.github.com/users/TanyaAkulich/events{/privacy}","received_events_url":"https://api.github.com/users/TanyaAkulich/received_events","type":"User","site_admin":false},"repo":{"id":139883584,"node_id":"MDEwOlJlcG9zaXRvcnkxMzk4ODM1ODQ=","name":"summer-2018","full_name":"TanyaAkulich/summer-2018","owner":{"login":"TanyaAkulich","id":32651409,"node_id":"MDQ6VXNlcjMyNjUxNDA5","avatar_url":"https://avatars1.githubusercontent.com/u/32651409?v=4","gravatar_id":"","url":"https://api.github.com/users/TanyaAkulich","html_url":"https://github.com/TanyaAkulich","followers_url":"https://api.github.com/users/TanyaAkulich/followers","following_url":"https://api.github.com/users/TanyaAkulich/following{/other_user}","gists_url":"https://api.github.com/users/TanyaAkulich/gists{/gist_id}","starred_url":"https://api.github.com/users/TanyaAkulich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TanyaAkulich/subscriptions","organizations_url":"https://api.github.com/users/TanyaAkulich/orgs","repos_url":"https://api.github.com/users/TanyaAkulich/repos","events_url":"https://api.github.com/users/TanyaAkulich/events{/privacy}","received_events_url":"https://api.github.com/users/TanyaAkulich/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/TanyaAkulich/summer-2018","description":null,"fork":true,"url":"https://api.github.com/repos/TanyaAkulich/summer-2018","forks_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/forks","keys_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/teams","hooks_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/hooks","issue_events_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/issues/events{/number}","events_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/events","assignees_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/assignees{/user}","branches_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/branches{/branch}","tags_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/tags","blobs_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/git/refs{/sha}","trees_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/statuses/{sha}","languages_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/languages","stargazers_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/stargazers","contributors_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/contributors","subscribers_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/subscribers","subscription_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/subscription","commits_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/commits{/sha}","git_commits_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/git/commits{/sha}","comments_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/comments{/number}","issue_comment_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/issues/comments{/number}","contents_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/contents/{+path}","compare_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/merges","archive_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/downloads","issues_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/issues{/number}","pulls_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/pulls{/number}","milestones_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/milestones{/number}","notifications_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/labels{/name}","releases_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/releases{/id}","deployments_url":"https://api.github.com/repos/TanyaAkulich/summer-2018/deployments","created_at":"2018-07-05T17:56:36Z","updated_at":"2018-07-05T17:56:38Z","pushed_at":"2018-07-09T14:15:00Z","git_url":"git://github.com/TanyaAkulich/summer-2018.git","ssh_url":"git@github.com:TanyaAkulich/summer-2018.git","clone_url":"https://github.com/TanyaAkulich/summer-2018.git","svn_url":"https://github.com/TanyaAkulich/summer-2018","homepage":null,"size":86209,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"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":"rubizza-survival-camp:master","ref":"master","sha":"2e34bee9c50814d3b1149a970f83bbc1c85525a8","user":{"login":"rubizza-survival-camp","id":40864986,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQwODY0OTg2","avatar_url":"https://avatars1.githubusercontent.com/u/40864986?v=4","gravatar_id":"","url":"https://api.github.com/users/rubizza-survival-camp","html_url":"https://github.com/rubizza-survival-camp","followers_url":"https://api.github.com/users/rubizza-survival-camp/followers","following_url":"https://api.github.com/users/rubizza-survival-camp/following{/other_user}","gists_url":"https://api.github.com/users/rubizza-survival-camp/gists{/gist_id}","starred_url":"https://api.github.com/users/rubizza-survival-camp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubizza-survival-camp/subscriptions","organizations_url":"https://api.github.com/users/rubizza-survival-camp/orgs","repos_url":"https://api.github.com/users/rubizza-survival-camp/repos","events_url":"https://api.github.com/users/rubizza-survival-camp/events{/privacy}","received_events_url":"https://api.github.com/users/rubizza-survival-camp/received_events","type":"Organization","site_admin":false},"repo":{"id":139868408,"node_id":"MDEwOlJlcG9zaXRvcnkxMzk4Njg0MDg=","name":"summer-2018","full_name":"rubizza-survival-camp/summer-2018","owner":{"login":"rubizza-survival-camp","id":40864986,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQwODY0OTg2","avatar_url":"https://avatars1.githubusercontent.com/u/40864986?v=4","gravatar_id":"","url":"https://api.github.com/users/rubizza-survival-camp","html_url":"https://github.com/rubizza-survival-camp","followers_url":"https://api.github.com/users/rubizza-survival-camp/followers","following_url":"https://api.github.com/users/rubizza-survival-camp/following{/other_user}","gists_url":"https://api.github.com/users/rubizza-survival-camp/gists{/gist_id}","starred_url":"https://api.github.com/users/rubizza-survival-camp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rubizza-survival-camp/subscriptions","organizations_url":"https://api.github.com/users/rubizza-survival-camp/orgs","repos_url":"https://api.github.com/users/rubizza-survival-camp/repos","events_url":"https://api.github.com/users/rubizza-survival-camp/events{/privacy}","received_events_url":"https://api.github.com/users/rubizza-survival-camp/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rubizza-survival-camp/summer-2018","description":null,"fork":false,"url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018","forks_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/forks","keys_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/teams","hooks_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/hooks","issue_events_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/issues/events{/number}","events_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/events","assignees_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/assignees{/user}","branches_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/branches{/branch}","tags_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/tags","blobs_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/git/refs{/sha}","trees_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/statuses/{sha}","languages_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/languages","stargazers_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/stargazers","contributors_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/contributors","subscribers_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/subscribers","subscription_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/subscription","commits_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/commits{/sha}","git_commits_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/git/commits{/sha}","comments_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/comments{/number}","issue_comment_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/issues/comments{/number}","contents_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/contents/{+path}","compare_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/merges","archive_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/downloads","issues_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/issues{/number}","pulls_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls{/number}","milestones_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/milestones{/number}","notifications_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/labels{/name}","releases_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/releases{/id}","deployments_url":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/deployments","created_at":"2018-07-05T15:28:12Z","updated_at":"2018-07-09T08:56:18Z","pushed_at":"2018-07-09T14:15:02Z","git_url":"git://github.com/rubizza-survival-camp/summer-2018.git","ssh_url":"git@github.com:rubizza-survival-camp/summer-2018.git","clone_url":"https://github.com/rubizza-survival-camp/summer-2018.git","svn_url":"https://github.com/rubizza-survival-camp/summer-2018","homepage":null,"size":86243,"stargazers_count":0,"watchers_count":0,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":54,"mirror_url":null,"archived":false,"open_issues_count":19,"license":null,"forks":54,"open_issues":19,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/106"},"html":{"href":"https://github.com/rubizza-survival-camp/summer-2018/pull/106"},"issue":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/issues/106"},"comments":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/issues/106/comments"},"review_comments":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/106/comments"},"review_comment":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/pulls/106/commits"},"statuses":{"href":"https://api.github.com/repos/rubizza-survival-camp/summer-2018/statuses/28002f161419956f154a92e97a2d7d9bf4546db3"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"houndci-bot"}}