{"action":"created","comment":{"url":"https://api.github.com/repos/mvz/happymapper/pulls/comments/213006012","pull_request_review_id":149748957,"id":213006012,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMzAwNjAxMg==","diff_hunk":"@@ -936,128 +936,123 @@ class Thing\n     expect(tree.persons.person.first.information.alternateIds.ids.size).to eq(8)\n   end\n \n-  it 'should parse multiple images' do\n+  it 'parses multiple images' do\n     artist = Artist.parse(fixture_file('multiple_primitives.xml'))\n     expect(artist.name).to eq('value')\n     expect(artist.images.size).to eq(2)\n   end\n \n-  it 'should parse lastfm namespaces' do\n+  it 'parses lastfm namespaces' do\n     l = Location.parse(fixture_file('lastfm.xml'))\n     expect(l.first.latitude).to eq('51.53469')\n   end\n \n   describe 'Parse optional attributes' do\n-    it 'should parse an empty String as empty' do\n-      a = OptionalAttribute.parse(fixture_file('optional_attributes.xml'))\n-      expect(a[0].street).to eq('')\n+    let(:parsed_result) { OptionalAttribute.parse(fixture_file('optional_attributes.xml')) }\n+\n+    it 'parses an empty String as empty' do\n+      expect(parsed_result[0].street).to eq('')\n     end\n \n-    it 'should parse a String with value' do\n-      a = OptionalAttribute.parse(fixture_file('optional_attributes.xml'))\n-      expect(a[1].street).to eq('Milchstrasse')\n+    it 'parses a String with value' do\n+      expect(parsed_result[1].street).to eq('Milchstrasse')\n     end\n \n-    it 'should parse a String with value' do\n-      a = OptionalAttribute.parse(fixture_file('optional_attributes.xml'))\n-      expect(a[2].street).to be_nil\n+    it 'parses an element with no value for the attribute' do\n+      expect(parsed_result[2].street).to be_nil\n     end\n   end\n \n   describe 'Default namespace combi' do\n-    before(:each) do\n-      file_contents = fixture_file('default_namespace_combi.xml')\n-      @book = DefaultNamespaceCombi.parse(file_contents, single: true)\n-    end\n+    let(:file_contents) { fixture_file('default_namespace_combi.xml') }\n+    let(:book) { DefaultNamespaceCombi.parse(file_contents, single: true) }\n \n-    it 'should parse author' do\n-      expect(@book.author).to eq('Frank Gilbreth')\n+    it 'parses author' do\n+      expect(book.author).to eq('Frank Gilbreth')\n     end\n \n-    it 'should parse title' do\n-      expect(@book.title).to eq('Cheaper by the Dozen')\n+    it 'parses title' do\n+      expect(book.title).to eq('Cheaper by the Dozen')\n     end\n \n-    it 'should parse number' do\n-      expect(@book.number).to eq('1568491379')\n+    it 'parses number' do\n+      expect(book.number).to eq('1568491379')\n     end\n   end\n \n   describe 'Xml Content' do\n-    before(:each) do\n-      file_contents = fixture_file('dictionary.xml')\n-      @records = Dictionary::Record.parse(file_contents)\n-    end\n+    let(:records) { Dictionary::Record.parse fixture_file('dictionary.xml') }\n \n-    it 'should parse XmlContent' do\n-      expect(@records.first.definitions.first.text).\n+    it 'parses XmlContent' do\n+      expect(records.first.definitions.first.text).\n         to eq('a large common parrot, <bn>Cacatua galerita</bn>, predominantly' \\\n               ' white, with yellow on the undersides of wings and tail and a' \\\n               ' forward curving yellow crest, found in Australia, New Guinea' \\\n               ' and nearby islands.')\n     end\n \n-    it \"should save object's xml content\" do\n-      expect(@records.first.variants.first.xml_content).to eq(\n+    it \"saves object's xml content\" do\n+      expect(records.first.variants.first.xml_content).to eq(\n         'white <tag>cockatoo</tag>'\n       )\n-      expect(@records.first.variants.last.to_html).to eq(\n+      expect(records.first.variants.last.to_html).to eq(\n         '<em>white</em> cockatoo'\n       )\n     end\n   end\n \n-  it 'should parse ambigous items' do\n+  it 'parses ambigous items' do\n     items = AmbigousItems::Item.parse(fixture_file('ambigous_items.xml'), xpath: '/ambigous/my-items')\n     expect(items.map(&:name)).to eq(%w(first second third).map { |s| \"My #{s} item\" })\n   end\n \n   context Article do\n-    it 'should parse the publish options for Article and Photo' do\n-      expect(@article.title).not_to be_nil\n-      expect(@article.text).not_to be_nil\n-      expect(@article.photos).not_to be_nil\n-      expect(@article.photos.first.title).not_to be_nil\n-    end\n+    let(:article) { Article.parse(fixture_file('subclass_namespace.xml')) }\n \n-    it 'should parse the publish options for Article' do\n-      expect(@article.publish_options).not_to be_nil\n+    it 'parses the publish options for Article and Photo' do\n+      expect(article.title).not_to be_nil\n+      expect(article.text).not_to be_nil\n+      expect(article.photos).not_to be_nil\n+      expect(article.photos.first.title).not_to be_nil\n     end\n \n-    it 'should parse the publish options for Photo' do\n-      expect(@article.photos.first.publish_options).not_to be_nil\n+    it 'parses the publish options for Article' do\n+      expect(article.publish_options).not_to be_nil\n     end\n \n-    it 'should only find only items at the parent level' do\n-      expect(@article.photos.length).to eq(1)\n+    it 'parses the publish options for Photo' do\n+      expect(article.photos.first.publish_options).not_to be_nil\n     end\n \n-    before(:all) do\n-      @article = Article.parse(fixture_file('subclass_namespace.xml'))\n+    it 'onlies find only items at the parent level' do\n+      expect(article.photos.length).to eq(1)\n     end\n   end\n \n-  context 'Namespace is missing because an optional element that uses it is not present' do\n-    it 'should parse successfully' do\n-      @article = PartiallyBadArticle.parse(fixture_file('subclass_namespace.xml'))\n-      expect(@article).not_to be_nil\n-      expect(@article.title).not_to be_nil\n-      expect(@article.text).not_to be_nil\n-      expect(@article.photos).not_to be_nil\n-      expect(@article.photos.first.title).not_to be_nil\n+  describe 'Namespace is missing because an optional element that uses it is not present' do\n+    it 'parses successfully' do\n+      article = PartiallyBadArticle.parse(fixture_file('subclass_namespace.xml'))","path":"spec/happymapper_spec.rb","position":495,"original_position":495,"commit_id":"5dfcb3ac31f7ed9c07130e31ab492bd6ba083dcd","original_commit_id":"5dfcb3ac31f7ed9c07130e31ab492bd6ba083dcd","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":"Metrics/LineLength: Line is too long. [81/80]","created_at":"2018-08-27T14:57:42Z","updated_at":"2018-08-27T14:57:44Z","html_url":"https://github.com/mvz/happymapper/pull/95#discussion_r213006012","pull_request_url":"https://api.github.com/repos/mvz/happymapper/pulls/95","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/mvz/happymapper/pulls/comments/213006012"},"html":{"href":"https://github.com/mvz/happymapper/pull/95#discussion_r213006012"},"pull_request":{"href":"https://api.github.com/repos/mvz/happymapper/pulls/95"}}},"pull_request":{"url":"https://api.github.com/repos/mvz/happymapper/pulls/95","id":211136158,"node_id":"MDExOlB1bGxSZXF1ZXN0MjExMTM2MTU4","html_url":"https://github.com/mvz/happymapper/pull/95","diff_url":"https://github.com/mvz/happymapper/pull/95.diff","patch_url":"https://github.com/mvz/happymapper/pull/95.patch","issue_url":"https://api.github.com/repos/mvz/happymapper/issues/95","number":95,"state":"open","locked":false,"title":"Improve spec organization","user":{"login":"mvz","id":10898,"node_id":"MDQ6VXNlcjEwODk4","avatar_url":"https://avatars3.githubusercontent.com/u/10898?v=4","gravatar_id":"","url":"https://api.github.com/users/mvz","html_url":"https://github.com/mvz","followers_url":"https://api.github.com/users/mvz/followers","following_url":"https://api.github.com/users/mvz/following{/other_user}","gists_url":"https://api.github.com/users/mvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mvz/subscriptions","organizations_url":"https://api.github.com/users/mvz/orgs","repos_url":"https://api.github.com/users/mvz/repos","events_url":"https://api.github.com/users/mvz/events{/privacy}","received_events_url":"https://api.github.com/users/mvz/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-08-27T14:57:24Z","updated_at":"2018-08-27T14:57:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2d6afb03be2bf8f3aae4a72879f7727fed731a83","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/mvz/happymapper/pulls/95/commits","review_comments_url":"https://api.github.com/repos/mvz/happymapper/pulls/95/comments","review_comment_url":"https://api.github.com/repos/mvz/happymapper/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mvz/happymapper/issues/95/comments","statuses_url":"https://api.github.com/repos/mvz/happymapper/statuses/5dfcb3ac31f7ed9c07130e31ab492bd6ba083dcd","head":{"label":"mvz:improve-specs","ref":"improve-specs","sha":"5dfcb3ac31f7ed9c07130e31ab492bd6ba083dcd","user":{"login":"mvz","id":10898,"node_id":"MDQ6VXNlcjEwODk4","avatar_url":"https://avatars3.githubusercontent.com/u/10898?v=4","gravatar_id":"","url":"https://api.github.com/users/mvz","html_url":"https://github.com/mvz","followers_url":"https://api.github.com/users/mvz/followers","following_url":"https://api.github.com/users/mvz/following{/other_user}","gists_url":"https://api.github.com/users/mvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mvz/subscriptions","organizations_url":"https://api.github.com/users/mvz/orgs","repos_url":"https://api.github.com/users/mvz/repos","events_url":"https://api.github.com/users/mvz/events{/privacy}","received_events_url":"https://api.github.com/users/mvz/received_events","type":"User","site_admin":false},"repo":{"id":290589,"node_id":"MDEwOlJlcG9zaXRvcnkyOTA1ODk=","name":"happymapper","full_name":"mvz/happymapper","owner":{"login":"mvz","id":10898,"node_id":"MDQ6VXNlcjEwODk4","avatar_url":"https://avatars3.githubusercontent.com/u/10898?v=4","gravatar_id":"","url":"https://api.github.com/users/mvz","html_url":"https://github.com/mvz","followers_url":"https://api.github.com/users/mvz/followers","following_url":"https://api.github.com/users/mvz/following{/other_user}","gists_url":"https://api.github.com/users/mvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mvz/subscriptions","organizations_url":"https://api.github.com/users/mvz/orgs","repos_url":"https://api.github.com/users/mvz/repos","events_url":"https://api.github.com/users/mvz/events{/privacy}","received_events_url":"https://api.github.com/users/mvz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mvz/happymapper","description":"Object to XML mapping library, using Nokogiri (Fork from John Nunemaker's Happymapper)","fork":true,"url":"https://api.github.com/repos/mvz/happymapper","forks_url":"https://api.github.com/repos/mvz/happymapper/forks","keys_url":"https://api.github.com/repos/mvz/happymapper/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mvz/happymapper/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mvz/happymapper/teams","hooks_url":"https://api.github.com/repos/mvz/happymapper/hooks","issue_events_url":"https://api.github.com/repos/mvz/happymapper/issues/events{/number}","events_url":"https://api.github.com/repos/mvz/happymapper/events","assignees_url":"https://api.github.com/repos/mvz/happymapper/assignees{/user}","branches_url":"https://api.github.com/repos/mvz/happymapper/branches{/branch}","tags_url":"https://api.github.com/repos/mvz/happymapper/tags","blobs_url":"https://api.github.com/repos/mvz/happymapper/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mvz/happymapper/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mvz/happymapper/git/refs{/sha}","trees_url":"https://api.github.com/repos/mvz/happymapper/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mvz/happymapper/statuses/{sha}","languages_url":"https://api.github.com/repos/mvz/happymapper/languages","stargazers_url":"https://api.github.com/repos/mvz/happymapper/stargazers","contributors_url":"https://api.github.com/repos/mvz/happymapper/contributors","subscribers_url":"https://api.github.com/repos/mvz/happymapper/subscribers","subscription_url":"https://api.github.com/repos/mvz/happymapper/subscription","commits_url":"https://api.github.com/repos/mvz/happymapper/commits{/sha}","git_commits_url":"https://api.github.com/repos/mvz/happymapper/git/commits{/sha}","comments_url":"https://api.github.com/repos/mvz/happymapper/comments{/number}","issue_comment_url":"https://api.github.com/repos/mvz/happymapper/issues/comments{/number}","contents_url":"https://api.github.com/repos/mvz/happymapper/contents/{+path}","compare_url":"https://api.github.com/repos/mvz/happymapper/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mvz/happymapper/merges","archive_url":"https://api.github.com/repos/mvz/happymapper/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mvz/happymapper/downloads","issues_url":"https://api.github.com/repos/mvz/happymapper/issues{/number}","pulls_url":"https://api.github.com/repos/mvz/happymapper/pulls{/number}","milestones_url":"https://api.github.com/repos/mvz/happymapper/milestones{/number}","notifications_url":"https://api.github.com/repos/mvz/happymapper/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mvz/happymapper/labels{/name}","releases_url":"https://api.github.com/repos/mvz/happymapper/releases{/id}","deployments_url":"https://api.github.com/repos/mvz/happymapper/deployments","created_at":"2009-08-28T04:49:45Z","updated_at":"2018-08-27T13:47:35Z","pushed_at":"2018-08-27T14:57:25Z","git_url":"git://github.com/mvz/happymapper.git","ssh_url":"git@github.com:mvz/happymapper.git","clone_url":"https://github.com/mvz/happymapper.git","svn_url":"https://github.com/mvz/happymapper","homepage":"http://github.com/mvz/happymapper/","size":549,"stargazers_count":110,"watchers_count":110,"language":"Ruby","has_issues":true,"has_projects":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":40,"mirror_url":null,"archived":false,"open_issues_count":15,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":40,"open_issues":15,"watchers":110,"default_branch":"master"}},"base":{"label":"mvz:master","ref":"master","sha":"705038cc97fb24e6c96c37b8f4e0a0da4843289a","user":{"login":"mvz","id":10898,"node_id":"MDQ6VXNlcjEwODk4","avatar_url":"https://avatars3.githubusercontent.com/u/10898?v=4","gravatar_id":"","url":"https://api.github.com/users/mvz","html_url":"https://github.com/mvz","followers_url":"https://api.github.com/users/mvz/followers","following_url":"https://api.github.com/users/mvz/following{/other_user}","gists_url":"https://api.github.com/users/mvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mvz/subscriptions","organizations_url":"https://api.github.com/users/mvz/orgs","repos_url":"https://api.github.com/users/mvz/repos","events_url":"https://api.github.com/users/mvz/events{/privacy}","received_events_url":"https://api.github.com/users/mvz/received_events","type":"User","site_admin":false},"repo":{"id":290589,"node_id":"MDEwOlJlcG9zaXRvcnkyOTA1ODk=","name":"happymapper","full_name":"mvz/happymapper","owner":{"login":"mvz","id":10898,"node_id":"MDQ6VXNlcjEwODk4","avatar_url":"https://avatars3.githubusercontent.com/u/10898?v=4","gravatar_id":"","url":"https://api.github.com/users/mvz","html_url":"https://github.com/mvz","followers_url":"https://api.github.com/users/mvz/followers","following_url":"https://api.github.com/users/mvz/following{/other_user}","gists_url":"https://api.github.com/users/mvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mvz/subscriptions","organizations_url":"https://api.github.com/users/mvz/orgs","repos_url":"https://api.github.com/users/mvz/repos","events_url":"https://api.github.com/users/mvz/events{/privacy}","received_events_url":"https://api.github.com/users/mvz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mvz/happymapper","description":"Object to XML mapping library, using Nokogiri (Fork from John Nunemaker's Happymapper)","fork":true,"url":"https://api.github.com/repos/mvz/happymapper","forks_url":"https://api.github.com/repos/mvz/happymapper/forks","keys_url":"https://api.github.com/repos/mvz/happymapper/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mvz/happymapper/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mvz/happymapper/teams","hooks_url":"https://api.github.com/repos/mvz/happymapper/hooks","issue_events_url":"https://api.github.com/repos/mvz/happymapper/issues/events{/number}","events_url":"https://api.github.com/repos/mvz/happymapper/events","assignees_url":"https://api.github.com/repos/mvz/happymapper/assignees{/user}","branches_url":"https://api.github.com/repos/mvz/happymapper/branches{/branch}","tags_url":"https://api.github.com/repos/mvz/happymapper/tags","blobs_url":"https://api.github.com/repos/mvz/happymapper/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mvz/happymapper/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mvz/happymapper/git/refs{/sha}","trees_url":"https://api.github.com/repos/mvz/happymapper/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mvz/happymapper/statuses/{sha}","languages_url":"https://api.github.com/repos/mvz/happymapper/languages","stargazers_url":"https://api.github.com/repos/mvz/happymapper/stargazers","contributors_url":"https://api.github.com/repos/mvz/happymapper/contributors","subscribers_url":"https://api.github.com/repos/mvz/happymapper/subscribers","subscription_url":"https://api.github.com/repos/mvz/happymapper/subscription","commits_url":"https://api.github.com/repos/mvz/happymapper/commits{/sha}","git_commits_url":"https://api.github.com/repos/mvz/happymapper/git/commits{/sha}","comments_url":"https://api.github.com/repos/mvz/happymapper/comments{/number}","issue_comment_url":"https://api.github.com/repos/mvz/happymapper/issues/comments{/number}","contents_url":"https://api.github.com/repos/mvz/happymapper/contents/{+path}","compare_url":"https://api.github.com/repos/mvz/happymapper/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mvz/happymapper/merges","archive_url":"https://api.github.com/repos/mvz/happymapper/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mvz/happymapper/downloads","issues_url":"https://api.github.com/repos/mvz/happymapper/issues{/number}","pulls_url":"https://api.github.com/repos/mvz/happymapper/pulls{/number}","milestones_url":"https://api.github.com/repos/mvz/happymapper/milestones{/number}","notifications_url":"https://api.github.com/repos/mvz/happymapper/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mvz/happymapper/labels{/name}","releases_url":"https://api.github.com/repos/mvz/happymapper/releases{/id}","deployments_url":"https://api.github.com/repos/mvz/happymapper/deployments","created_at":"2009-08-28T04:49:45Z","updated_at":"2018-08-27T13:47:35Z","pushed_at":"2018-08-27T14:57:25Z","git_url":"git://github.com/mvz/happymapper.git","ssh_url":"git@github.com:mvz/happymapper.git","clone_url":"https://github.com/mvz/happymapper.git","svn_url":"https://github.com/mvz/happymapper","homepage":"http://github.com/mvz/happymapper/","size":549,"stargazers_count":110,"watchers_count":110,"language":"Ruby","has_issues":true,"has_projects":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":40,"mirror_url":null,"archived":false,"open_issues_count":15,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":40,"open_issues":15,"watchers":110,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mvz/happymapper/pulls/95"},"html":{"href":"https://github.com/mvz/happymapper/pull/95"},"issue":{"href":"https://api.github.com/repos/mvz/happymapper/issues/95"},"comments":{"href":"https://api.github.com/repos/mvz/happymapper/issues/95/comments"},"review_comments":{"href":"https://api.github.com/repos/mvz/happymapper/pulls/95/comments"},"review_comment":{"href":"https://api.github.com/repos/mvz/happymapper/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mvz/happymapper/pulls/95/commits"},"statuses":{"href":"https://api.github.com/repos/mvz/happymapper/statuses/5dfcb3ac31f7ed9c07130e31ab492bd6ba083dcd"}},"author_association":"OWNER"}}
{"actor":{"display_login":"houndci-bot"}}