{"action":"created","comment":{"url":"https://api.github.com/repos/lotus/helpers/pulls/comments/24001630","id":24001630,"diff_hunk":"@@ -0,0 +1,77 @@\n+module Lotus\n+  module Helpers\n+    module HtmlHelper\n+      # Empty HTML node\n+      #\n+      # @since x.x.x\n+      # @api private\n+      class EmptyHtmlNode\n+        # Attributes separator\n+        #\n+        # @since x.x.x\n+        # @api private\n+        ATTRIBUTES_SEPARATOR = ' '.freeze\n+\n+        # Attributes escape\n+        # This is for data-* attributes.\n+        #\n+        # @since x.x.x\n+        # @api private\n+        ATTRIBUTES_ESCAPE = {\n+          '_' => '-'\n+        }.freeze\n+\n+        # Attributes escape\n+        # This is for data-* attributes.\n+        #\n+        # @since x.x.x\n+        # @api private\n+        #\n+        # @see Lotus::Helpers::HtmlHelper::EmptyHtmlNode::ATTRIBUTES_ESCAPE\n+        ATTRIBUTES_ESCAPE_PATTERN = Regexp.union(*ATTRIBUTES_ESCAPE.keys)\n+\n+        # Initialize a new empty HTML node\n+        #\n+        # @param name [Symbol,String] the name of the tag\n+        # @param attributes [Hash,NilClass] the optional tag attributes\n+        #\n+        # @return [Lotus::Helpers::HtmlHelper::EmptyHtmlNode]\n+        #\n+        # @since x.x.x\n+        # @api private\n+        def initialize(name, attributes)\n+          @name       = name\n+          @attributes = attributes\n+        end\n+\n+        # Resolve and return the output\n+        #\n+        # @return [String] the output\n+        #\n+        # @since x.x.x\n+        # @api private\n+        def to_s\n+          %(<#{ @name }#{attributes}>)\n+        end\n+\n+        private\n+        # Resolve the attributes\n+        #\n+        # @return [String,NilClass] the tag attributes\n+        #\n+        # @since x.x.x\n+        # @api private\n+        def attributes\n+          return if @attributes.nil?\n+          result = [nil]","path":"lib/lotus/helpers/html_helper/empty_html_node.rb","position":66,"original_position":66,"commit_id":"8ebec3827bb0aaca5a345d50172e71f7ffa26ff8","original_commit_id":"8ebec3827bb0aaca5a345d50172e71f7ffa26ff8","user":{"login":"jodosha","id":5089,"avatar_url":"https://avatars.githubusercontent.com/u/5089?v=3","gravatar_id":"","url":"https://api.github.com/users/jodosha","html_url":"https://github.com/jodosha","followers_url":"https://api.github.com/users/jodosha/followers","following_url":"https://api.github.com/users/jodosha/following{/other_user}","gists_url":"https://api.github.com/users/jodosha/gists{/gist_id}","starred_url":"https://api.github.com/users/jodosha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jodosha/subscriptions","organizations_url":"https://api.github.com/users/jodosha/orgs","repos_url":"https://api.github.com/users/jodosha/repos","events_url":"https://api.github.com/users/jodosha/events{/privacy}","received_events_url":"https://api.github.com/users/jodosha/received_events","type":"User","site_admin":false},"body":"In case there are attributes we want to leave a space between the name of the tag and the attributes:\r\n\r\n```ruby\r\nname = :hr\r\nattributes = ([nil] << ['id=\"foo\"', 'class=\"separator\"']).join(' ')\r\n\r\n%(<#{ name }#{attributes}>) # => <hr id=\"foo\" class=\"separator\">\r\n```","created_at":"2015-02-03T13:04:42Z","updated_at":"2015-02-03T13:04:42Z","html_url":"https://github.com/lotus/helpers/pull/7#discussion_r24001630","pull_request_url":"https://api.github.com/repos/lotus/helpers/pulls/7","_links":{"self":{"href":"https://api.github.com/repos/lotus/helpers/pulls/comments/24001630"},"html":{"href":"https://github.com/lotus/helpers/pull/7#discussion_r24001630"},"pull_request":{"href":"https://api.github.com/repos/lotus/helpers/pulls/7"}}},"pull_request":{"url":"https://api.github.com/repos/lotus/helpers/pulls/7","id":27293722,"html_url":"https://github.com/lotus/helpers/pull/7","diff_url":"https://github.com/lotus/helpers/pull/7.diff","patch_url":"https://github.com/lotus/helpers/pull/7.patch","issue_url":"https://api.github.com/repos/lotus/helpers/issues/7","number":7,"state":"open","locked":false,"title":"HTML generators","user":{"login":"jodosha","id":5089,"avatar_url":"https://avatars.githubusercontent.com/u/5089?v=3","gravatar_id":"","url":"https://api.github.com/users/jodosha","html_url":"https://github.com/jodosha","followers_url":"https://api.github.com/users/jodosha/followers","following_url":"https://api.github.com/users/jodosha/following{/other_user}","gists_url":"https://api.github.com/users/jodosha/gists{/gist_id}","starred_url":"https://api.github.com/users/jodosha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jodosha/subscriptions","organizations_url":"https://api.github.com/users/jodosha/orgs","repos_url":"https://api.github.com/users/jodosha/repos","events_url":"https://api.github.com/users/jodosha/events{/privacy}","received_events_url":"https://api.github.com/users/jodosha/received_events","type":"User","site_admin":false},"body":"## Introduction\r\n\r\nFor a design introduction of helpers please have a look at the [README](https://github.com/lotus/helpers/blob/master/README.md#design).\r\n\r\nBy including `HtmlHelper` it will inject **one private method:**  `html`.\r\nThis is a HTML5 markup generator.\r\n\r\n## Usage\r\n\r\nThis is how it will look used with a view:\r\n\r\n```ruby\r\nclass MyView\r\n  include Lotus::Helpers::HtmlHelper\r\n\r\n  # Generates\r\n  # <aside id=\"sidebar\">\r\n  #    <div>hello</hello>\r\n  #  </aside>\r\n  def sidebar\r\n    html.aside(id: 'sidebar') do\r\n      div 'hello'\r\n    end\r\n  end\r\nend\r\n```\r\n\r\nFeatures:\r\n  * It knows how to close tags according to HTML5 spec (1)\r\n  * It accepts content as first argument (2)\r\n  * It accepts builder as first argument (3)\r\n  * It accepts content as block which returns a string (4)\r\n  * It accepts content as a block with nested markup builders (5)\r\n  * It builds attributes from given hash (6)\r\n  * it combines attributes and block (7)\r\n  \r\n\r\n```ruby\r\n# 1\r\nhtml.div # => <div></div>\r\nhtml.img # => <img>\r\n\r\n# 2\r\nhtml.div('hello') # => <div>hello</div>\r\n\r\n# 3\r\nhtml.div(html.p('hello')) # => <div><p>hello</p></div>\r\n\r\n# 4\r\nhtml.div { 'hello' }\r\n# =>\r\n#<div>\r\n#  hello\r\n#</div>\r\n\r\n# 5\r\nhtml.div do\r\n  p 'hello'\r\nend\r\n# =>\r\n#<div>\r\n#  <p>hello</p>\r\n#</div>\r\n\r\n# 6\r\nhtml.div('hello', id: 'el', 'data_x' => 'y') # => <div id=\"el\" data-x=\"y\">hello</div>\r\n\r\n# 7\r\nhtml.div(id: 'yay') { 'hello' }\r\n# =>\r\n#<div id=\"yay\">\r\n#  hello\r\n#</div>\r\n```\r\n\r\nIt supports complex scenarios.\r\n**Notice the lack of concatenation between `div` and `input`** :sparkling_heart: \r\n\r\n```ruby\r\nhtml.form(action: '/users', method: 'POST') do\r\n  div do\r\n    label 'First name', for: 'user-first-name'\r\n    input type: 'text', id: 'user-first-name', name: 'user[first_name]', value: 'L'\r\n  end\r\n\r\n  input type: 'submit', value: 'Save changes'\r\nend\r\n# =>\r\n#<form action=\"/users\" method=\"POST\">\r\n#  <div>\r\n#    <label for=\"user-first-name\">First name</label>\r\n#    <input type=\"text\" id=\"user-first-name\" name=\"user[first_name]\" value=\"L\">\r\n#  </div>\r\n#  <input type=\"submit\" value=\"Save changes\">\r\n#</form>\r\n```\r\n\r\n## Custom tags\r\n\r\n```ruby\r\nhtml.tag(:custom, 'Foo', id: 'next') # => <custom id=\"next\">Foo</custom>\r\nhtml.empty_tag(:xr, id: 'next')      # => <xr id=\"next\">\r\n```\r\n\r\n## Auto escape\r\n\r\nThe tag contents are automatically escaped:\r\n\r\n```ruby\r\nhtml.div('hello')         # => <div>hello</hello>\r\nhtml.div { 'hello' }      # => <div>hello</hello>\r\nhtml.div(html.p('hello')) # => <div><p>hello</p></hello>\r\nhtml.div do\r\n  p 'hello'\r\nend # => <div><p>hello</p></hello>\r\n\r\n\r\n\r\nhtml.div(\"<script>alert('xss')</script>\")\r\n  # =>  \"<div>&lt;script&gt;alert(&apos;xss&apos;)&lt;&#x2F;script&gt;</div>\"\r\n\r\nhtml.div { \"<script>alert('xss')</script>\" }\r\n  # =>  \"<div>&lt;script&gt;alert(&apos;xss&apos;)&lt;&#x2F;script&gt;</div>\"\r\n\r\nhtml.div(html.p(\"<script>alert('xss')</script>\"))\r\n  # => \"<div><p>&lt;script&gt;alert(&apos;xss&apos;)&lt;&#x2F;script&gt;</p></div>\"\r\n\r\nhtml.div do\r\n  p \"<script>alert('xss')</script>\"\r\nend\r\n  # => \"<div><p>&lt;script&gt;alert(&apos;xss&apos;)&lt;&#x2F;script&gt;</p></div>\"\r\n```\r\n\r\n**HTML attributes aren't automatically escaped, developers must use: `Utils::Escape.html_attribute`, which will be aliased to `#ha` and make available as an helper in an upcoming PR**.\r\n\r\nRef https://github.com/lotus/utils/pull/51\r\n\r\n## View Context\r\n\r\nLocal variables from views are available inside the nested blocks of HTML builder:\r\n\r\n```ruby\r\nrequire 'lotus/view'\r\nrequire 'lotus/helpers'\r\n\r\nBook = Struct.new(:title)\r\n\r\nmodule Books\r\n  class Show\r\n    include Lotus::View\r\n    include Lotus::Helpers::HtmlHelper\r\n\r\n    def title_widget\r\n      html.div do\r\n        h1 book.title\r\n      end\r\n    end\r\n  end\r\nend\r\n```\r\n\r\n```erb\r\n<div id=\"content\">\r\n  <%= title_widget %>\r\n</div>\r\n```\r\n\r\n```ruby\r\nbook     = Book.new('The Work of Art in the Age of Mechanical Reproduction')\r\nrendered = Books::Show.render(format: :html, book: book)\r\n  # => <div id=\"content\">\r\n  #      <div>\r\n  #        <h1>The Work of Art in the Age of Mechanical Reproduction</h1>\r\n  #      </div>\r\n  #   </div>\r\n```\r\n\r\nCloses #6 ","created_at":"2015-01-13T18:39:49Z","updated_at":"2015-02-03T13:04:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7086fd29d0876e3daf42f18e48c5c9d670b669ab","assignee":{"login":"jodosha","id":5089,"avatar_url":"https://avatars.githubusercontent.com/u/5089?v=3","gravatar_id":"","url":"https://api.github.com/users/jodosha","html_url":"https://github.com/jodosha","followers_url":"https://api.github.com/users/jodosha/followers","following_url":"https://api.github.com/users/jodosha/following{/other_user}","gists_url":"https://api.github.com/users/jodosha/gists{/gist_id}","starred_url":"https://api.github.com/users/jodosha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jodosha/subscriptions","organizations_url":"https://api.github.com/users/jodosha/orgs","repos_url":"https://api.github.com/users/jodosha/repos","events_url":"https://api.github.com/users/jodosha/events{/privacy}","received_events_url":"https://api.github.com/users/jodosha/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/lotus/helpers/milestones/1","labels_url":"https://api.github.com/repos/lotus/helpers/milestones/1/labels","id":933506,"number":1,"title":"v0.1.0","description":"","creator":{"login":"jodosha","id":5089,"avatar_url":"https://avatars.githubusercontent.com/u/5089?v=3","gravatar_id":"","url":"https://api.github.com/users/jodosha","html_url":"https://github.com/jodosha","followers_url":"https://api.github.com/users/jodosha/followers","following_url":"https://api.github.com/users/jodosha/following{/other_user}","gists_url":"https://api.github.com/users/jodosha/gists{/gist_id}","starred_url":"https://api.github.com/users/jodosha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jodosha/subscriptions","organizations_url":"https://api.github.com/users/jodosha/orgs","repos_url":"https://api.github.com/users/jodosha/repos","events_url":"https://api.github.com/users/jodosha/events{/privacy}","received_events_url":"https://api.github.com/users/jodosha/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2015-01-13T14:59:45Z","updated_at":"2015-01-27T13:42:26Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/lotus/helpers/pulls/7/commits","review_comments_url":"https://api.github.com/repos/lotus/helpers/pulls/7/comments","review_comment_url":"https://api.github.com/repos/lotus/helpers/pulls/comments/{number}","comments_url":"https://api.github.com/repos/lotus/helpers/issues/7/comments","statuses_url":"https://api.github.com/repos/lotus/helpers/statuses/8ebec3827bb0aaca5a345d50172e71f7ffa26ff8","head":{"label":"lotus:html-generators","ref":"html-generators","sha":"8ebec3827bb0aaca5a345d50172e71f7ffa26ff8","user":{"login":"lotus","id":3210273,"avatar_url":"https://avatars.githubusercontent.com/u/3210273?v=3","gravatar_id":"","url":"https://api.github.com/users/lotus","html_url":"https://github.com/lotus","followers_url":"https://api.github.com/users/lotus/followers","following_url":"https://api.github.com/users/lotus/following{/other_user}","gists_url":"https://api.github.com/users/lotus/gists{/gist_id}","starred_url":"https://api.github.com/users/lotus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lotus/subscriptions","organizations_url":"https://api.github.com/users/lotus/orgs","repos_url":"https://api.github.com/users/lotus/repos","events_url":"https://api.github.com/users/lotus/events{/privacy}","received_events_url":"https://api.github.com/users/lotus/received_events","type":"Organization","site_admin":false},"repo":{"id":19746688,"name":"helpers","full_name":"lotus/helpers","owner":{"login":"lotus","id":3210273,"avatar_url":"https://avatars.githubusercontent.com/u/3210273?v=3","gravatar_id":"","url":"https://api.github.com/users/lotus","html_url":"https://github.com/lotus","followers_url":"https://api.github.com/users/lotus/followers","following_url":"https://api.github.com/users/lotus/following{/other_user}","gists_url":"https://api.github.com/users/lotus/gists{/gist_id}","starred_url":"https://api.github.com/users/lotus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lotus/subscriptions","organizations_url":"https://api.github.com/users/lotus/orgs","repos_url":"https://api.github.com/users/lotus/repos","events_url":"https://api.github.com/users/lotus/events{/privacy}","received_events_url":"https://api.github.com/users/lotus/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lotus/helpers","description":"View helpers for Ruby applications","fork":false,"url":"https://api.github.com/repos/lotus/helpers","forks_url":"https://api.github.com/repos/lotus/helpers/forks","keys_url":"https://api.github.com/repos/lotus/helpers/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lotus/helpers/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lotus/helpers/teams","hooks_url":"https://api.github.com/repos/lotus/helpers/hooks","issue_events_url":"https://api.github.com/repos/lotus/helpers/issues/events{/number}","events_url":"https://api.github.com/repos/lotus/helpers/events","assignees_url":"https://api.github.com/repos/lotus/helpers/assignees{/user}","branches_url":"https://api.github.com/repos/lotus/helpers/branches{/branch}","tags_url":"https://api.github.com/repos/lotus/helpers/tags","blobs_url":"https://api.github.com/repos/lotus/helpers/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lotus/helpers/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lotus/helpers/git/refs{/sha}","trees_url":"https://api.github.com/repos/lotus/helpers/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lotus/helpers/statuses/{sha}","languages_url":"https://api.github.com/repos/lotus/helpers/languages","stargazers_url":"https://api.github.com/repos/lotus/helpers/stargazers","contributors_url":"https://api.github.com/repos/lotus/helpers/contributors","subscribers_url":"https://api.github.com/repos/lotus/helpers/subscribers","subscription_url":"https://api.github.com/repos/lotus/helpers/subscription","commits_url":"https://api.github.com/repos/lotus/helpers/commits{/sha}","git_commits_url":"https://api.github.com/repos/lotus/helpers/git/commits{/sha}","comments_url":"https://api.github.com/repos/lotus/helpers/comments{/number}","issue_comment_url":"https://api.github.com/repos/lotus/helpers/issues/comments/{number}","contents_url":"https://api.github.com/repos/lotus/helpers/contents/{+path}","compare_url":"https://api.github.com/repos/lotus/helpers/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lotus/helpers/merges","archive_url":"https://api.github.com/repos/lotus/helpers/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lotus/helpers/downloads","issues_url":"https://api.github.com/repos/lotus/helpers/issues{/number}","pulls_url":"https://api.github.com/repos/lotus/helpers/pulls{/number}","milestones_url":"https://api.github.com/repos/lotus/helpers/milestones{/number}","notifications_url":"https://api.github.com/repos/lotus/helpers/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lotus/helpers/labels{/name}","releases_url":"https://api.github.com/repos/lotus/helpers/releases{/id}","created_at":"2014-05-13T16:26:00Z","updated_at":"2015-01-17T23:21:17Z","pushed_at":"2015-02-03T10:30:00Z","git_url":"git://github.com/lotus/helpers.git","ssh_url":"git@github.com:lotus/helpers.git","clone_url":"https://github.com/lotus/helpers.git","svn_url":"https://github.com/lotus/helpers","homepage":"http://lotusrb.org","size":272,"stargazers_count":20,"watchers_count":20,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":13,"mirror_url":null,"open_issues_count":7,"forks":13,"open_issues":7,"watchers":20,"default_branch":"master"}},"base":{"label":"lotus:master","ref":"master","sha":"b51025adc59b73271b51c2b702f51a6d1bf4e845","user":{"login":"lotus","id":3210273,"avatar_url":"https://avatars.githubusercontent.com/u/3210273?v=3","gravatar_id":"","url":"https://api.github.com/users/lotus","html_url":"https://github.com/lotus","followers_url":"https://api.github.com/users/lotus/followers","following_url":"https://api.github.com/users/lotus/following{/other_user}","gists_url":"https://api.github.com/users/lotus/gists{/gist_id}","starred_url":"https://api.github.com/users/lotus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lotus/subscriptions","organizations_url":"https://api.github.com/users/lotus/orgs","repos_url":"https://api.github.com/users/lotus/repos","events_url":"https://api.github.com/users/lotus/events{/privacy}","received_events_url":"https://api.github.com/users/lotus/received_events","type":"Organization","site_admin":false},"repo":{"id":19746688,"name":"helpers","full_name":"lotus/helpers","owner":{"login":"lotus","id":3210273,"avatar_url":"https://avatars.githubusercontent.com/u/3210273?v=3","gravatar_id":"","url":"https://api.github.com/users/lotus","html_url":"https://github.com/lotus","followers_url":"https://api.github.com/users/lotus/followers","following_url":"https://api.github.com/users/lotus/following{/other_user}","gists_url":"https://api.github.com/users/lotus/gists{/gist_id}","starred_url":"https://api.github.com/users/lotus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lotus/subscriptions","organizations_url":"https://api.github.com/users/lotus/orgs","repos_url":"https://api.github.com/users/lotus/repos","events_url":"https://api.github.com/users/lotus/events{/privacy}","received_events_url":"https://api.github.com/users/lotus/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lotus/helpers","description":"View helpers for Ruby applications","fork":false,"url":"https://api.github.com/repos/lotus/helpers","forks_url":"https://api.github.com/repos/lotus/helpers/forks","keys_url":"https://api.github.com/repos/lotus/helpers/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lotus/helpers/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lotus/helpers/teams","hooks_url":"https://api.github.com/repos/lotus/helpers/hooks","issue_events_url":"https://api.github.com/repos/lotus/helpers/issues/events{/number}","events_url":"https://api.github.com/repos/lotus/helpers/events","assignees_url":"https://api.github.com/repos/lotus/helpers/assignees{/user}","branches_url":"https://api.github.com/repos/lotus/helpers/branches{/branch}","tags_url":"https://api.github.com/repos/lotus/helpers/tags","blobs_url":"https://api.github.com/repos/lotus/helpers/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lotus/helpers/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lotus/helpers/git/refs{/sha}","trees_url":"https://api.github.com/repos/lotus/helpers/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lotus/helpers/statuses/{sha}","languages_url":"https://api.github.com/repos/lotus/helpers/languages","stargazers_url":"https://api.github.com/repos/lotus/helpers/stargazers","contributors_url":"https://api.github.com/repos/lotus/helpers/contributors","subscribers_url":"https://api.github.com/repos/lotus/helpers/subscribers","subscription_url":"https://api.github.com/repos/lotus/helpers/subscription","commits_url":"https://api.github.com/repos/lotus/helpers/commits{/sha}","git_commits_url":"https://api.github.com/repos/lotus/helpers/git/commits{/sha}","comments_url":"https://api.github.com/repos/lotus/helpers/comments{/number}","issue_comment_url":"https://api.github.com/repos/lotus/helpers/issues/comments/{number}","contents_url":"https://api.github.com/repos/lotus/helpers/contents/{+path}","compare_url":"https://api.github.com/repos/lotus/helpers/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lotus/helpers/merges","archive_url":"https://api.github.com/repos/lotus/helpers/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lotus/helpers/downloads","issues_url":"https://api.github.com/repos/lotus/helpers/issues{/number}","pulls_url":"https://api.github.com/repos/lotus/helpers/pulls{/number}","milestones_url":"https://api.github.com/repos/lotus/helpers/milestones{/number}","notifications_url":"https://api.github.com/repos/lotus/helpers/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lotus/helpers/labels{/name}","releases_url":"https://api.github.com/repos/lotus/helpers/releases{/id}","created_at":"2014-05-13T16:26:00Z","updated_at":"2015-01-17T23:21:17Z","pushed_at":"2015-02-03T10:30:00Z","git_url":"git://github.com/lotus/helpers.git","ssh_url":"git@github.com:lotus/helpers.git","clone_url":"https://github.com/lotus/helpers.git","svn_url":"https://github.com/lotus/helpers","homepage":"http://lotusrb.org","size":272,"stargazers_count":20,"watchers_count":20,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":13,"mirror_url":null,"open_issues_count":7,"forks":13,"open_issues":7,"watchers":20,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lotus/helpers/pulls/7"},"html":{"href":"https://github.com/lotus/helpers/pull/7"},"issue":{"href":"https://api.github.com/repos/lotus/helpers/issues/7"},"comments":{"href":"https://api.github.com/repos/lotus/helpers/issues/7/comments"},"review_comments":{"href":"https://api.github.com/repos/lotus/helpers/pulls/7/comments"},"review_comment":{"href":"https://api.github.com/repos/lotus/helpers/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/lotus/helpers/pulls/7/commits"},"statuses":{"href":"https://api.github.com/repos/lotus/helpers/statuses/8ebec3827bb0aaca5a345d50172e71f7ffa26ff8"}}}}