{"action":"created","comment":{"url":"https://api.github.com/repos/thecartercenter/elmo/pulls/comments/210320557","pull_request_review_id":146510063,"id":210320557,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDMyMDU1Nw==","diff_hunk":"@@ -0,0 +1,365 @@\n+# frozen_string_literal: true\n+\n+require \"rails_helper\"\n+\n+feature \"hierarhcical response form display logic\", js: true do\n+  def visit_new_hierarchical_response_page\n+    visit(new_hierarchical_response_path(\n+      locale: \"en\",\n+      mode: \"m\",\n+      mission_name: get_mission.compact_name,\n+      form_id: form.id\n+    ))\n+  end\n+\n+  def fill_and_expect_visible(field, value, visible)\n+    fill_answer(field: field, value: value)\n+    expect_visible(visible)\n+  end\n+\n+  def fill_answer(field:, value:)\n+    qing = qings[field.is_a?(Symbol) ? field : field[0]]\n+    idx = nil\n+    id = nil\n+    path = nil\n+    if field.is_a?(Symbol)\n+      idx = qings.keys.index(field)\n+      id = \"response_root_#{idx}_value\"\n+    else\n+      idx = qings.keys.index(field[0])\n+      path = [idx] + field[1]\n+      parts = path.zip([\"children\"] * (path.length - 1)).flatten.compact\n+      id = \"response_root_#{parts.join(\"_\")}_value\"\n+    end\n+    within(selector_for(qing, path)) do\n+      case qing.qtype_name\n+      when \"long_text\"\n+        fill_in_ckeditor(id, with: value)\n+      when \"select_one\"\n+        if value.is_a?(Array)\n+          value.each_with_index do |o, i|\n+            id = \"response_root_#{idx}_children_#{i}_option_node_id\"\n+            find(\"##{id} option\", text: o)\n+            select(o, from: id)\n+          end\n+        else\n+          id = \"response_root_#{idx}_option_node_id\"\n+          select(value, from: id)\n+        end\n+      when \"select_multiple\"\n+        qing.options.each_with_index do |o, i|\n+          id = \"response_root_#{idx}_children_#{i}_choices_attributes_checked\"\n+          value.include?(o.name) ? check(id) : uncheck(id)\n+        end\n+      when \"datetime\", \"date\", \"time\"\n+        t = Time.zone.parse(value)\n+        prefix = \"response_root_#{idx}_#{qing.qtype_name}_value\"\n+        unless qing.qtype_name == \"time\"\n+          select(t.strftime(\"%Y\"), from: \"#{prefix}_1i\")\n+          select(t.strftime(\"%b\"), from: \"#{prefix}_2i\")\n+          select(t.day.to_s, from: \"#{prefix}_3i\")\n+        end\n+        unless qing.qtype_name == \"date\"\n+          select(t.strftime(\"%H\"), from: \"#{prefix}_4i\")\n+          select(t.strftime(\"%M\"), from: \"#{prefix}_5i\")\n+          select(t.strftime(\"%S\"), from: \"#{prefix}_6i\")\n+        end\n+      else\n+        fill_in(id, with: value)\n+      end\n+    end\n+  end\n+\n+  # visible_fields should be an array of symbols or pairs of form [symbol, {inst: X}] where X is\n+  # the instance descriptor we should be looking in. If a plain symbol is passed, we assume instance 1.\n+  def expect_visible(visible_fields)\n+    # Transform visible_fields to the form {Questioning => [X, Y], ...} where X, Y are instance descriptors.\n+    visible_fields =\n+      {}.tap do |list|\n+        visible_fields.each do |item|\n+          if item.is_a?(Symbol)\n+            qing = qings[item]\n+            inst = 1\n+          else\n+            qing = qings[item[0]]\n+            inst = item[1]\n+          end\n+          list[qing] ||= []\n+          list[qing] << inst\n+        end\n+      end\n+\n+    form.questionings.each do |qing|\n+      # Get instance count for parent instance.\n+      inst_count =\n+        if qing.depth == 1\n+          1\n+        else\n+          # TODO: When we add support for nested groups to this spec, we will need to refine this selector\n+          # to distinguish between different sets of subinstances within a parent repeat group's instances.\n+          page.all(%(div.qing-group-instance[data-group-id=\"#{qing.parent_id}\"])).size\n+        end\n+\n+      # For each instance, check visibility.\n+      # TODO: When we add support for nested groups to this spec, we will have to\n+      # respect the full instance descriptor, not just a single number.\n+      (1..inst_count).each do |inst|\n+        if (visible_fields[qing] || []).include?(inst)\n+          expect(find(selector_for(qing))).to be_visible, lambda { \"Expected #{qing.full_dotted_rank} #{qing.code} #{qing.qtype_name} to be visible, but is hidden.\"}\n+        else\n+          expect(find(selector_for(qing), visible: false)).not_to be_visible, lambda{\"Expected #{qing.full_dotted_rank} #{qing.code} #{qing.qtype_name} to be hidden, but is visible.\"}\n+        end\n+      end\n+    end\n+  end\n+\n+  # Gets a CSS selector for the answer_field div described by the given qing and instance descriptor.\n+  def selector_for(qing, path = nil)\n+    if path\n+      path_selector = path.join(\"-\")\n+      %(.node[data-qing-id=\"#{qing.id}\"][data-path^=\"#{path_selector}\"])\n+    else\n+      %(.node[data-qing-id=\"#{qing.id}\"])\n+    end\n+  end\n+\n+  let(:user) { create(:user) }\n+  let(:form) { create(:form) }\n+\n+  before do\n+    qings # Ensure these get created before we visit page.\n+    login(user)\n+  end\n+\n+  describe \"different question types\" do\n+    let(:year) { Time.zone.now.year - 2 }\n+    let(:group) { create(:qing_group, form: form) }\n+    let(:rpt_group) { create(:qing_group, form: form, repeatable: true) }\n+    let!(:qings) do\n+      {}.tap do |qings|\n+        qings[:long_text] = create_questioning(\"long_text\", form)\n+\n+        qings[:text1] = create_questioning(\"text\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:long_text].id, op: \"eq\", value: \"foo\"}\n+          ])\n+\n+        qings[:integer] = create_questioning(\"integer\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:text1].id, op: \"neq\", value: \"bar\"}\n+          ])\n+\n+        qings[:counter] = create_questioning(\"counter\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:integer].id, op: \"gt\", value: \"10\"}\n+          ])\n+\n+        qings[:text2] = create_questioning(\"text\", form)\n+\n+        qings[:decimal] = create_questioning(\"decimal\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:counter].id, op: \"gt\", value: \"5\"}\n+          ])\n+\n+        qings[:select_one] = create_questioning(\"select_one\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:decimal].id, op: \"eq\", value: \"21.72\"}\n+          ])\n+\n+        oset = qings[:select_one].option_set\n+        qings[:mlev_sel_one] = create_questioning(\"multilevel_select_one\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:select_one].id, op: \"eq\", option_node_id: oset.node(\"Dog\").id}\n+          ])\n+\n+        oset = qings[:mlev_sel_one].option_set\n+        qings[:geo_sel_one] = create_questioning(\"geo_multilevel_select_one\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:mlev_sel_one].id, op: \"eq\", option_node_id: oset.node(\"Plant\", \"Tulip\").id}\n+          ])\n+\n+        oset = qings[:geo_sel_one].option_set\n+        qings[:select_multiple] = create_questioning(\"select_multiple\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:geo_sel_one].id, op: \"eq\", option_node_id: oset.node(\"Canada\").id}\n+          ])\n+\n+        oset = qings[:select_multiple].option_set\n+        qings[:datetime] = create_questioning(\"datetime\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:select_multiple].id, op: \"inc\", option_node_id: oset.node(\"Cat\").id}\n+          ])\n+\n+        qings[:date] = create_questioning(\"date\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:datetime].id, op: \"lt\", value: \"#{year}-01-01 5:00:21\"}\n+          ])\n+\n+        qings[:time] = create_questioning(\"time\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:date].id, op: \"eq\", value: \"#{year}-03-22\"}\n+          ])\n+\n+        qings[:text3] = create_questioning(\"text\", form, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:time].id, op: \"geq\", value: \"3:00pm\"}\n+          ])\n+\n+        qings[:grp1] = create_questioning(\"text\", form, parent: group)\n+\n+        qings[:rpt1] = create_questioning(\"text\", form, parent: rpt_group, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:text3].id, op: \"eq\", value: \"baz\"} # References top level Q\n+          ])\n+\n+        qings[:rpt2] = create_questioning(\"text\", form, parent: rpt_group, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:rpt1].id, op: \"eq\", value: \"qux\"} # References same group Q\n+          ])\n+\n+        qings[:rpt3] = create_questioning(\"text\", form, parent: rpt_group, display_if: \"all_met\",\n+          display_conditions_attributes: [\n+            {ref_qing_id: qings[:grp1].id, op: \"eq\", value: \"nix\"} # References Q from sibling group\n+          ])\n+      end\n+    end\n+\n+    scenario \"various conditions on questionings should work\" do\n+      visit_new_hierarchical_response_page\n+      visible = %i(long_text text2 grp1)\n+      fill_and_expect_visible(:long_text, \"fo\", visible)\n+\n+      # integer also becomes available here because it depends on text1 not being bar,\n+      # which it isn't at first, because \"\" != \"bar\"\n+      fill_and_expect_visible(:long_text, \"foo\", visible << :text1 << :integer)\n+\n+      fill_and_expect_visible(:text1, \"bar\", visible - [:integer])\n+      fill_and_expect_visible(:text1, \"barz\", visible << :integer)\n+      fill_and_expect_visible(:integer, \"10\", visible)\n+      fill_and_expect_visible(:integer, \"11\", visible << :counter)\n+      fill_and_expect_visible(:counter, \"5\", visible)\n+      fill_and_expect_visible(:counter, \"6\", visible << :decimal)\n+      fill_and_expect_visible(:decimal, \"21.7\", visible)\n+      fill_and_expect_visible(:decimal, \"21.72\", visible << :select_one)\n+      fill_and_expect_visible(:select_one, \"Cat\", visible)\n+      fill_and_expect_visible(:select_one, \"Dog\", visible << :mlev_sel_one)\n+      fill_and_expect_visible(:mlev_sel_one, %w(Plant), visible)","path":"spec/features/hierarchical_response_display_logic_spec.rb","position":246,"original_position":246,"commit_id":"26be35680f57612ee550ea54e03a94d894a09789","original_commit_id":"26be35680f57612ee550ea54e03a94d894a09789","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":"Style/PercentLiteralDelimiters: %w-literals should be delimited by [ and ].","created_at":"2018-08-15T16:06:23Z","updated_at":"2018-08-15T16:06:23Z","html_url":"https://github.com/thecartercenter/elmo/pull/480#discussion_r210320557","pull_request_url":"https://api.github.com/repos/thecartercenter/elmo/pulls/480","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/thecartercenter/elmo/pulls/comments/210320557"},"html":{"href":"https://github.com/thecartercenter/elmo/pull/480#discussion_r210320557"},"pull_request":{"href":"https://api.github.com/repos/thecartercenter/elmo/pulls/480"}}},"pull_request":{"url":"https://api.github.com/repos/thecartercenter/elmo/pulls/480","id":208605150,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA4NjA1MTUw","html_url":"https://github.com/thecartercenter/elmo/pull/480","diff_url":"https://github.com/thecartercenter/elmo/pull/480.diff","patch_url":"https://github.com/thecartercenter/elmo/pull/480.patch","issue_url":"https://api.github.com/repos/thecartercenter/elmo/issues/480","number":480,"state":"open","locked":false,"title":" 8664 conditional logic","user":{"login":"scttnlsn","id":578446,"node_id":"MDQ6VXNlcjU3ODQ0Ng==","avatar_url":"https://avatars2.githubusercontent.com/u/578446?v=4","gravatar_id":"","url":"https://api.github.com/users/scttnlsn","html_url":"https://github.com/scttnlsn","followers_url":"https://api.github.com/users/scttnlsn/followers","following_url":"https://api.github.com/users/scttnlsn/following{/other_user}","gists_url":"https://api.github.com/users/scttnlsn/gists{/gist_id}","starred_url":"https://api.github.com/users/scttnlsn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scttnlsn/subscriptions","organizations_url":"https://api.github.com/users/scttnlsn/orgs","repos_url":"https://api.github.com/users/scttnlsn/repos","events_url":"https://api.github.com/users/scttnlsn/events{/privacy}","received_events_url":"https://api.github.com/users/scttnlsn/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-08-15T15:58:09Z","updated_at":"2018-08-15T16:06:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"74daabf6c94dd3d440987a81dacea231824967ae","assignee":null,"assignees":[],"requested_reviewers":[{"login":"smoyth","id":702320,"node_id":"MDQ6VXNlcjcwMjMyMA==","avatar_url":"https://avatars1.githubusercontent.com/u/702320?v=4","gravatar_id":"","url":"https://api.github.com/users/smoyth","html_url":"https://github.com/smoyth","followers_url":"https://api.github.com/users/smoyth/followers","following_url":"https://api.github.com/users/smoyth/following{/other_user}","gists_url":"https://api.github.com/users/smoyth/gists{/gist_id}","starred_url":"https://api.github.com/users/smoyth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smoyth/subscriptions","organizations_url":"https://api.github.com/users/smoyth/orgs","repos_url":"https://api.github.com/users/smoyth/repos","events_url":"https://api.github.com/users/smoyth/events{/privacy}","received_events_url":"https://api.github.com/users/smoyth/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/thecartercenter/elmo/pulls/480/commits","review_comments_url":"https://api.github.com/repos/thecartercenter/elmo/pulls/480/comments","review_comment_url":"https://api.github.com/repos/thecartercenter/elmo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/thecartercenter/elmo/issues/480/comments","statuses_url":"https://api.github.com/repos/thecartercenter/elmo/statuses/26be35680f57612ee550ea54e03a94d894a09789","head":{"label":"thecartercenter:8664_conditional_logic","ref":"8664_conditional_logic","sha":"26be35680f57612ee550ea54e03a94d894a09789","user":{"login":"thecartercenter","id":5075178,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUwNzUxNzg=","avatar_url":"https://avatars1.githubusercontent.com/u/5075178?v=4","gravatar_id":"","url":"https://api.github.com/users/thecartercenter","html_url":"https://github.com/thecartercenter","followers_url":"https://api.github.com/users/thecartercenter/followers","following_url":"https://api.github.com/users/thecartercenter/following{/other_user}","gists_url":"https://api.github.com/users/thecartercenter/gists{/gist_id}","starred_url":"https://api.github.com/users/thecartercenter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thecartercenter/subscriptions","organizations_url":"https://api.github.com/users/thecartercenter/orgs","repos_url":"https://api.github.com/users/thecartercenter/repos","events_url":"https://api.github.com/users/thecartercenter/events{/privacy}","received_events_url":"https://api.github.com/users/thecartercenter/received_events","type":"Organization","site_admin":false},"repo":{"id":11615188,"node_id":"MDEwOlJlcG9zaXRvcnkxMTYxNTE4OA==","name":"elmo","full_name":"thecartercenter/elmo","owner":{"login":"thecartercenter","id":5075178,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUwNzUxNzg=","avatar_url":"https://avatars1.githubusercontent.com/u/5075178?v=4","gravatar_id":"","url":"https://api.github.com/users/thecartercenter","html_url":"https://github.com/thecartercenter","followers_url":"https://api.github.com/users/thecartercenter/followers","following_url":"https://api.github.com/users/thecartercenter/following{/other_user}","gists_url":"https://api.github.com/users/thecartercenter/gists{/gist_id}","starred_url":"https://api.github.com/users/thecartercenter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thecartercenter/subscriptions","organizations_url":"https://api.github.com/users/thecartercenter/orgs","repos_url":"https://api.github.com/users/thecartercenter/repos","events_url":"https://api.github.com/users/thecartercenter/events{/privacy}","received_events_url":"https://api.github.com/users/thecartercenter/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/thecartercenter/elmo","description":" ELMO is a mobile data collection and analysis web application.","fork":false,"url":"https://api.github.com/repos/thecartercenter/elmo","forks_url":"https://api.github.com/repos/thecartercenter/elmo/forks","keys_url":"https://api.github.com/repos/thecartercenter/elmo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thecartercenter/elmo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thecartercenter/elmo/teams","hooks_url":"https://api.github.com/repos/thecartercenter/elmo/hooks","issue_events_url":"https://api.github.com/repos/thecartercenter/elmo/issues/events{/number}","events_url":"https://api.github.com/repos/thecartercenter/elmo/events","assignees_url":"https://api.github.com/repos/thecartercenter/elmo/assignees{/user}","branches_url":"https://api.github.com/repos/thecartercenter/elmo/branches{/branch}","tags_url":"https://api.github.com/repos/thecartercenter/elmo/tags","blobs_url":"https://api.github.com/repos/thecartercenter/elmo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thecartercenter/elmo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thecartercenter/elmo/git/refs{/sha}","trees_url":"https://api.github.com/repos/thecartercenter/elmo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thecartercenter/elmo/statuses/{sha}","languages_url":"https://api.github.com/repos/thecartercenter/elmo/languages","stargazers_url":"https://api.github.com/repos/thecartercenter/elmo/stargazers","contributors_url":"https://api.github.com/repos/thecartercenter/elmo/contributors","subscribers_url":"https://api.github.com/repos/thecartercenter/elmo/subscribers","subscription_url":"https://api.github.com/repos/thecartercenter/elmo/subscription","commits_url":"https://api.github.com/repos/thecartercenter/elmo/commits{/sha}","git_commits_url":"https://api.github.com/repos/thecartercenter/elmo/git/commits{/sha}","comments_url":"https://api.github.com/repos/thecartercenter/elmo/comments{/number}","issue_comment_url":"https://api.github.com/repos/thecartercenter/elmo/issues/comments{/number}","contents_url":"https://api.github.com/repos/thecartercenter/elmo/contents/{+path}","compare_url":"https://api.github.com/repos/thecartercenter/elmo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thecartercenter/elmo/merges","archive_url":"https://api.github.com/repos/thecartercenter/elmo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thecartercenter/elmo/downloads","issues_url":"https://api.github.com/repos/thecartercenter/elmo/issues{/number}","pulls_url":"https://api.github.com/repos/thecartercenter/elmo/pulls{/number}","milestones_url":"https://api.github.com/repos/thecartercenter/elmo/milestones{/number}","notifications_url":"https://api.github.com/repos/thecartercenter/elmo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thecartercenter/elmo/labels{/name}","releases_url":"https://api.github.com/repos/thecartercenter/elmo/releases{/id}","deployments_url":"https://api.github.com/repos/thecartercenter/elmo/deployments","created_at":"2013-07-23T17:56:04Z","updated_at":"2018-08-13T13:35:24Z","pushed_at":"2018-08-15T16:05:45Z","git_url":"git://github.com/thecartercenter/elmo.git","ssh_url":"git@github.com:thecartercenter/elmo.git","clone_url":"https://github.com/thecartercenter/elmo.git","svn_url":"https://github.com/thecartercenter/elmo","homepage":"https://getelmo.org","size":73949,"stargazers_count":34,"watchers_count":34,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":38,"mirror_url":null,"archived":false,"open_issues_count":5,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":38,"open_issues":5,"watchers":34,"default_branch":"develop"}},"base":{"label":"thecartercenter:develop","ref":"develop","sha":"21ff8c2d1f4c3686bf1aff5fdd86c0b3ae294743","user":{"login":"thecartercenter","id":5075178,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUwNzUxNzg=","avatar_url":"https://avatars1.githubusercontent.com/u/5075178?v=4","gravatar_id":"","url":"https://api.github.com/users/thecartercenter","html_url":"https://github.com/thecartercenter","followers_url":"https://api.github.com/users/thecartercenter/followers","following_url":"https://api.github.com/users/thecartercenter/following{/other_user}","gists_url":"https://api.github.com/users/thecartercenter/gists{/gist_id}","starred_url":"https://api.github.com/users/thecartercenter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thecartercenter/subscriptions","organizations_url":"https://api.github.com/users/thecartercenter/orgs","repos_url":"https://api.github.com/users/thecartercenter/repos","events_url":"https://api.github.com/users/thecartercenter/events{/privacy}","received_events_url":"https://api.github.com/users/thecartercenter/received_events","type":"Organization","site_admin":false},"repo":{"id":11615188,"node_id":"MDEwOlJlcG9zaXRvcnkxMTYxNTE4OA==","name":"elmo","full_name":"thecartercenter/elmo","owner":{"login":"thecartercenter","id":5075178,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUwNzUxNzg=","avatar_url":"https://avatars1.githubusercontent.com/u/5075178?v=4","gravatar_id":"","url":"https://api.github.com/users/thecartercenter","html_url":"https://github.com/thecartercenter","followers_url":"https://api.github.com/users/thecartercenter/followers","following_url":"https://api.github.com/users/thecartercenter/following{/other_user}","gists_url":"https://api.github.com/users/thecartercenter/gists{/gist_id}","starred_url":"https://api.github.com/users/thecartercenter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thecartercenter/subscriptions","organizations_url":"https://api.github.com/users/thecartercenter/orgs","repos_url":"https://api.github.com/users/thecartercenter/repos","events_url":"https://api.github.com/users/thecartercenter/events{/privacy}","received_events_url":"https://api.github.com/users/thecartercenter/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/thecartercenter/elmo","description":" ELMO is a mobile data collection and analysis web application.","fork":false,"url":"https://api.github.com/repos/thecartercenter/elmo","forks_url":"https://api.github.com/repos/thecartercenter/elmo/forks","keys_url":"https://api.github.com/repos/thecartercenter/elmo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thecartercenter/elmo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thecartercenter/elmo/teams","hooks_url":"https://api.github.com/repos/thecartercenter/elmo/hooks","issue_events_url":"https://api.github.com/repos/thecartercenter/elmo/issues/events{/number}","events_url":"https://api.github.com/repos/thecartercenter/elmo/events","assignees_url":"https://api.github.com/repos/thecartercenter/elmo/assignees{/user}","branches_url":"https://api.github.com/repos/thecartercenter/elmo/branches{/branch}","tags_url":"https://api.github.com/repos/thecartercenter/elmo/tags","blobs_url":"https://api.github.com/repos/thecartercenter/elmo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thecartercenter/elmo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thecartercenter/elmo/git/refs{/sha}","trees_url":"https://api.github.com/repos/thecartercenter/elmo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thecartercenter/elmo/statuses/{sha}","languages_url":"https://api.github.com/repos/thecartercenter/elmo/languages","stargazers_url":"https://api.github.com/repos/thecartercenter/elmo/stargazers","contributors_url":"https://api.github.com/repos/thecartercenter/elmo/contributors","subscribers_url":"https://api.github.com/repos/thecartercenter/elmo/subscribers","subscription_url":"https://api.github.com/repos/thecartercenter/elmo/subscription","commits_url":"https://api.github.com/repos/thecartercenter/elmo/commits{/sha}","git_commits_url":"https://api.github.com/repos/thecartercenter/elmo/git/commits{/sha}","comments_url":"https://api.github.com/repos/thecartercenter/elmo/comments{/number}","issue_comment_url":"https://api.github.com/repos/thecartercenter/elmo/issues/comments{/number}","contents_url":"https://api.github.com/repos/thecartercenter/elmo/contents/{+path}","compare_url":"https://api.github.com/repos/thecartercenter/elmo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thecartercenter/elmo/merges","archive_url":"https://api.github.com/repos/thecartercenter/elmo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thecartercenter/elmo/downloads","issues_url":"https://api.github.com/repos/thecartercenter/elmo/issues{/number}","pulls_url":"https://api.github.com/repos/thecartercenter/elmo/pulls{/number}","milestones_url":"https://api.github.com/repos/thecartercenter/elmo/milestones{/number}","notifications_url":"https://api.github.com/repos/thecartercenter/elmo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thecartercenter/elmo/labels{/name}","releases_url":"https://api.github.com/repos/thecartercenter/elmo/releases{/id}","deployments_url":"https://api.github.com/repos/thecartercenter/elmo/deployments","created_at":"2013-07-23T17:56:04Z","updated_at":"2018-08-13T13:35:24Z","pushed_at":"2018-08-15T16:05:45Z","git_url":"git://github.com/thecartercenter/elmo.git","ssh_url":"git@github.com:thecartercenter/elmo.git","clone_url":"https://github.com/thecartercenter/elmo.git","svn_url":"https://github.com/thecartercenter/elmo","homepage":"https://getelmo.org","size":73949,"stargazers_count":34,"watchers_count":34,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":38,"mirror_url":null,"archived":false,"open_issues_count":5,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":38,"open_issues":5,"watchers":34,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/thecartercenter/elmo/pulls/480"},"html":{"href":"https://github.com/thecartercenter/elmo/pull/480"},"issue":{"href":"https://api.github.com/repos/thecartercenter/elmo/issues/480"},"comments":{"href":"https://api.github.com/repos/thecartercenter/elmo/issues/480/comments"},"review_comments":{"href":"https://api.github.com/repos/thecartercenter/elmo/pulls/480/comments"},"review_comment":{"href":"https://api.github.com/repos/thecartercenter/elmo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/thecartercenter/elmo/pulls/480/commits"},"statuses":{"href":"https://api.github.com/repos/thecartercenter/elmo/statuses/26be35680f57612ee550ea54e03a94d894a09789"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"houndci-bot"}}