{"action":"created","comment":{"url":"https://api.github.com/repos/lloeki/sprockets-less/pulls/comments/116480931","pull_request_review_id":38105067,"id":116480931,"diff_hunk":"@@ -0,0 +1,250 @@\n+# frozen_string_literal: true\n+\n+module Sprockets\n+  module Less\n+    module V2\n+      # class used for importing files from SCCS and SASS files\n+      class Importer\n+        GLOB = /\\*|\\[.+\\]/\n+        IMPORT_SCANNER = /^\\s*@import\\s*['\"]([^'\"]+)['\"]\\s*;/.freeze\n+\n+        def dependencies\n+          @dependencies ||= []\n+        end\n+\n+        def context\n+          @context\n+        end\n+\n+        def fetch_import_paths(data)\n+          data.scan(Regexp.union(IMPORT_SCANNER, GLOB)).flatten.compact.uniq\n+        end\n+\n+        def fetch_all_dependencies(data, filename, less_options, css_options)\n+          process_dependencies(data, filename, less_options, css_options)\n+          [data, dependencies]\n+        end\n+\n+        #Assemble dependencies for the context\n+        def process_dependencies(data, filename, less_options, css_options)\n+          @context = context = less_options[:custom][:sprockets_context]\n+\n+          final_css = ''.dup\n+          import_paths = fetch_import_paths(data)\n+          import_paths.each do |path|\n+            css = find_relative(path, filename, less_options, css_options)\n+            data.gsub!(/^\\s*@import\\s*['\"]#{Regexp.escape(path)}['\"]\\s*;/, css)\n+            final_css << css\n+          end\n+          final_css\n+        end\n+\n+\n+        protected\n+\n+        def find_relative(path, base_path, less_options, css_options)\n+          css = nil\n+          if path.to_s =~ GLOB\n+            css = engine_from_glob(path, base_path, less_options, css_options)\n+          else\n+            css = engine_from_path(path, base_path, less_options, css_options)\n+          end\n+          css.to_s\n+        end\n+\n+        # Create a Sass::Engine from the given path.\n+        def engine_from_path(path, base_path, less_options, css_options)\n+          context = less_options[:custom][:sprockets_context]\n+          (pathname = resolve(context, path, base_path))  || (return nil)\n+          context.depend_on pathname\n+          dependencies << pathname\n+          data_to_parse = evaluate(context, pathname)\n+          import_paths =  fetch_import_paths(data_to_parse)\n+          if import_paths.size > 0\n+            import_paths.each do |import_path|\n+              css = find_relative(import_path, pathname, less_options, css_options)\n+              data_to_parse.gsub!(/^\\s*@import\\s*['\"]#{Regexp.escape(import_path)}['\"]\\s*;/, css)\n+            end\n+          end\n+          begin\n+            css = less_engine(data_to_parse, pathname, context,  less_options, css_options)\n+          rescue => e\n+            css = e.message =~ /is undefined/ ? data_to_parse : nil\n+          end\n+          css.nil? || css.empty? ? data_to_parse : css\n+        end\n+\n+\n+        def less_engine(data, filename, context,  less_options, css_options)\n+          if ::Less.const_defined? :Engine\n+            engine = ::Less::Engine.new(data)\n+          else\n+            parser  = ::Less::Parser.new(less_options.merge(\n+            filename: filename.to_s,\n+            syntax: syntax,\n+            importer: self,\n+            custom: { sprockets_context: context }\n+            ))\n+            engine = parser.parse(data)\n+          end\n+          engine.to_css(css_options)\n+        end\n+\n+        # Create a Sass::Engine that will handle importing\n+        # a glob of files.\n+        def engine_from_glob(glob, base_path, less_options, css_options)\n+          context = less_options[:custom][:sprockets_context]\n+          engine_imports = resolve_glob(context, glob, base_path).reduce(''.dup) do |imports, path|\n+            context.depend_on path\n+            dependencies << path\n+            relative_path = path.relative_path_from Pathname.new(base_path).dirname\n+            imports << find_relative(relative_path, base_path, less_options, css_options)\n+          end\n+          return nil if engine_imports.empty?\n+          css = less_engine(engine_imports, base_path, context, less_options, css_options)\n+          css.nil? || css.empty? ? engine_imports : css\n+        end\n+\n+        # Finds an asset from the given path. This is where\n+        # we make Sprockets behave like Sass, and import partial\n+        # style paths.\n+        def resolve(context, path, base_path)\n+          paths, _root_path = possible_files(context, path, base_path)\n+          paths.each do |file|\n+            context.resolve(file.to_s) do |found|\n+              return found if context.asset_requirable?(found)\n+            end\n+          end\n+          nil\n+        end\n+\n+        # Finds all of the assets using the given glob.\n+        def resolve_glob(context, glob, base_path)\n+          base_path      = Pathname.new(base_path)\n+          path_with_glob = base_path.dirname.join(glob).to_s\n+\n+          Pathname.glob(path_with_glob).sort.select do |path|\n+            asset_requirable = context.asset_requirable?(path)\n+            path != context.pathname && asset_requirable\n+          end\n+        end\n+\n+        def context_root_path(context)\n+          Pathname.new(context.root_path)\n+        end\n+\n+        def context_load_pathnames(context)\n+          context.environment.paths.map { |p| Pathname.new(p) }\n+        end\n+\n+        # Returns all of the possible paths (including partial variations)\n+        # to attempt to resolve with the given path.\n+        def possible_files(context, path, base_path)\n+          path      = Pathname.new(path)\n+          base_path = Pathname.new(base_path).dirname\n+          partial_path = partialize_path(path)\n+          additional_paths = [\n+            Pathname.new(\"#{path}.css\"),\n+            Pathname.new(\"#{partial_path}.css\"),\n+            Pathname.new(\"#{path}.css.#{syntax}\"),\n+            Pathname.new(\"#{partial_path}.css.#{syntax}\"),\n+            Pathname.new(\"#{path}.css.#{syntax}.erb\"),\n+            Pathname.new(\"#{partial_path}.css.#{syntax}.erb\"),\n+            Pathname.new(\"#{path}.#{syntax}.erb\"),\n+            Pathname.new(\"#{partial_path}.#{syntax}.erb\")\n+          ]\n+          paths = additional_paths.concat([path, partial_path])\n+\n+          # Find base_path's root\n+          paths, root_path = add_root_to_possible_files(context, base_path, path, paths)\n+          [paths.compact, root_path]","path":"lib/sprockets/less/v2/importer.rb","position":160,"original_position":160,"commit_id":"bc20fa41d3bcbe4a1262cc26c24b4346f16228f2","original_commit_id":"b10683e4b1ceacabd903e91ea766552026410e9a","user":{"login":"lloeki","id":75445,"avatar_url":"https://avatars1.githubusercontent.com/u/75445?v=3","gravatar_id":"","url":"https://api.github.com/users/lloeki","html_url":"https://github.com/lloeki","followers_url":"https://api.github.com/users/lloeki/followers","following_url":"https://api.github.com/users/lloeki/following{/other_user}","gists_url":"https://api.github.com/users/lloeki/gists{/gist_id}","starred_url":"https://api.github.com/users/lloeki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lloeki/subscriptions","organizations_url":"https://api.github.com/users/lloeki/orgs","repos_url":"https://api.github.com/users/lloeki/repos","events_url":"https://api.github.com/users/lloeki/events{/privacy}","received_events_url":"https://api.github.com/users/lloeki/received_events","type":"User","site_admin":false},"body":"Add blank line before implicit return value","created_at":"2017-05-15T12:48:46Z","updated_at":"2017-05-15T12:48:46Z","html_url":"https://github.com/lloeki/sprockets-less/pull/5#discussion_r116480931","pull_request_url":"https://api.github.com/repos/lloeki/sprockets-less/pulls/5","_links":{"self":{"href":"https://api.github.com/repos/lloeki/sprockets-less/pulls/comments/116480931"},"html":{"href":"https://github.com/lloeki/sprockets-less/pull/5#discussion_r116480931"},"pull_request":{"href":"https://api.github.com/repos/lloeki/sprockets-less/pulls/5"}}},"pull_request":{"url":"https://api.github.com/repos/lloeki/sprockets-less/pulls/5","id":82686974,"html_url":"https://github.com/lloeki/sprockets-less/pull/5","diff_url":"https://github.com/lloeki/sprockets-less/pull/5.diff","patch_url":"https://github.com/lloeki/sprockets-less/pull/5.patch","issue_url":"https://api.github.com/repos/lloeki/sprockets-less/issues/5","number":5,"state":"open","locked":false,"title":"[Major Changes][Sprockets 3 for LESS] Using versionized classes","user":{"login":"bogdanRada","id":1104923,"avatar_url":"https://avatars0.githubusercontent.com/u/1104923?v=3","gravatar_id":"","url":"https://api.github.com/users/bogdanRada","html_url":"https://github.com/bogdanRada","followers_url":"https://api.github.com/users/bogdanRada/followers","following_url":"https://api.github.com/users/bogdanRada/following{/other_user}","gists_url":"https://api.github.com/users/bogdanRada/gists{/gist_id}","starred_url":"https://api.github.com/users/bogdanRada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bogdanRada/subscriptions","organizations_url":"https://api.github.com/users/bogdanRada/orgs","repos_url":"https://api.github.com/users/bogdanRada/repos","events_url":"https://api.github.com/users/bogdanRada/events{/privacy}","received_events_url":"https://api.github.com/users/bogdanRada/received_events","type":"User","site_admin":false},"body":"Hello.\n I recently added support for Sprockets 3 for sprockets-sass gem ( here: https://github.com/petebrowne/sprockets-sass/pull/38 ) and here https://github.com/petebrowne/sprockets-sass/pull/39  \n\nAfter some discussion in the first pull request, we decided to use versionized classes, so that would be easier to maintain compatibility with other sprockets versions, so this uses same structure,\n\nBasically the V2 classes will be used for sprockets 2.x\nV3 ...for Sprockets 3.x\nand V4...for Sprockets 4.x\n\nThe Registration class will automatically require the classes based on the version of sprockets loaded.\n\nThis pull request will also **DROP Ruby 1.9** and also **DROP TILT DEPENDENCY***\n\nThis pull request fixes some issues:\n- The importer can now import from globbed files and from deeply nested files\n- And now LESS files can be cached, using a custom cache store. \n\nAll tests are now passing for both 2.x and 3.x , except 6 tests related to the helpers we have for assets  ( Which are broken because i honestly haven';t found a way to pass arguments to this methods, besides the first argument )\n\n``` Less\n body { background: asset-path(\"image.jpg\", @prefix: '/themes'); }\n```\n\nThis seems to thow \"Unrecognized input\" when trying to parse it with the `Less::Parser` .\n I am going to still try and fix this, but i think this is not available for our `less.js` version (1.6.1) which is loaded by `less.rb`` (version 2.6.0 -- the last version)\n\nThere is though LESS.js version 1.7.1, which has support for this, but the `less.js` repository hasn't been updated though :( \n\nAlso there are some changes done for Sprockets 4.x but that is not yet complete. It does not fully support it yet. \n\nBut wanted to get some feedback on this, and maybe we can release the changes for sprockets 3.x and fix those other issues in other pull requests. \n\nLet me know what you think. Have a nice day :) \n\nP.S. If you have any idea how to pass those arguments to those helpers i would really appreciate. \n","created_at":"2016-08-25T09:36:12Z","updated_at":"2017-05-15T12:48:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0e645cc1e1298808e976f2a623ef162f6c064fb6","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/lloeki/sprockets-less/pulls/5/commits","review_comments_url":"https://api.github.com/repos/lloeki/sprockets-less/pulls/5/comments","review_comment_url":"https://api.github.com/repos/lloeki/sprockets-less/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lloeki/sprockets-less/issues/5/comments","statuses_url":"https://api.github.com/repos/lloeki/sprockets-less/statuses/bc20fa41d3bcbe4a1262cc26c24b4346f16228f2","head":{"label":"bogdanRada:feature/sprockets-3","ref":"feature/sprockets-3","sha":"bc20fa41d3bcbe4a1262cc26c24b4346f16228f2","user":{"login":"bogdanRada","id":1104923,"avatar_url":"https://avatars0.githubusercontent.com/u/1104923?v=3","gravatar_id":"","url":"https://api.github.com/users/bogdanRada","html_url":"https://github.com/bogdanRada","followers_url":"https://api.github.com/users/bogdanRada/followers","following_url":"https://api.github.com/users/bogdanRada/following{/other_user}","gists_url":"https://api.github.com/users/bogdanRada/gists{/gist_id}","starred_url":"https://api.github.com/users/bogdanRada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bogdanRada/subscriptions","organizations_url":"https://api.github.com/users/bogdanRada/orgs","repos_url":"https://api.github.com/users/bogdanRada/repos","events_url":"https://api.github.com/users/bogdanRada/events{/privacy}","received_events_url":"https://api.github.com/users/bogdanRada/received_events","type":"User","site_admin":false},"repo":{"id":66435455,"name":"sprockets-less","full_name":"bogdanRada/sprockets-less","owner":{"login":"bogdanRada","id":1104923,"avatar_url":"https://avatars0.githubusercontent.com/u/1104923?v=3","gravatar_id":"","url":"https://api.github.com/users/bogdanRada","html_url":"https://github.com/bogdanRada","followers_url":"https://api.github.com/users/bogdanRada/followers","following_url":"https://api.github.com/users/bogdanRada/following{/other_user}","gists_url":"https://api.github.com/users/bogdanRada/gists{/gist_id}","starred_url":"https://api.github.com/users/bogdanRada/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bogdanRada/subscriptions","organizations_url":"https://api.github.com/users/bogdanRada/orgs","repos_url":"https://api.github.com/users/bogdanRada/repos","events_url":"https://api.github.com/users/bogdanRada/events{/privacy}","received_events_url":"https://api.github.com/users/bogdanRada/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bogdanRada/sprockets-less","description":"Better Less integration with Sprockets 2.x","fork":true,"url":"https://api.github.com/repos/bogdanRada/sprockets-less","forks_url":"https://api.github.com/repos/bogdanRada/sprockets-less/forks","keys_url":"https://api.github.com/repos/bogdanRada/sprockets-less/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bogdanRada/sprockets-less/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bogdanRada/sprockets-less/teams","hooks_url":"https://api.github.com/repos/bogdanRada/sprockets-less/hooks","issue_events_url":"https://api.github.com/repos/bogdanRada/sprockets-less/issues/events{/number}","events_url":"https://api.github.com/repos/bogdanRada/sprockets-less/events","assignees_url":"https://api.github.com/repos/bogdanRada/sprockets-less/assignees{/user}","branches_url":"https://api.github.com/repos/bogdanRada/sprockets-less/branches{/branch}","tags_url":"https://api.github.com/repos/bogdanRada/sprockets-less/tags","blobs_url":"https://api.github.com/repos/bogdanRada/sprockets-less/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bogdanRada/sprockets-less/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bogdanRada/sprockets-less/git/refs{/sha}","trees_url":"https://api.github.com/repos/bogdanRada/sprockets-less/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bogdanRada/sprockets-less/statuses/{sha}","languages_url":"https://api.github.com/repos/bogdanRada/sprockets-less/languages","stargazers_url":"https://api.github.com/repos/bogdanRada/sprockets-less/stargazers","contributors_url":"https://api.github.com/repos/bogdanRada/sprockets-less/contributors","subscribers_url":"https://api.github.com/repos/bogdanRada/sprockets-less/subscribers","subscription_url":"https://api.github.com/repos/bogdanRada/sprockets-less/subscription","commits_url":"https://api.github.com/repos/bogdanRada/sprockets-less/commits{/sha}","git_commits_url":"https://api.github.com/repos/bogdanRada/sprockets-less/git/commits{/sha}","comments_url":"https://api.github.com/repos/bogdanRada/sprockets-less/comments{/number}","issue_comment_url":"https://api.github.com/repos/bogdanRada/sprockets-less/issues/comments{/number}","contents_url":"https://api.github.com/repos/bogdanRada/sprockets-less/contents/{+path}","compare_url":"https://api.github.com/repos/bogdanRada/sprockets-less/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bogdanRada/sprockets-less/merges","archive_url":"https://api.github.com/repos/bogdanRada/sprockets-less/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bogdanRada/sprockets-less/downloads","issues_url":"https://api.github.com/repos/bogdanRada/sprockets-less/issues{/number}","pulls_url":"https://api.github.com/repos/bogdanRada/sprockets-less/pulls{/number}","milestones_url":"https://api.github.com/repos/bogdanRada/sprockets-less/milestones{/number}","notifications_url":"https://api.github.com/repos/bogdanRada/sprockets-less/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bogdanRada/sprockets-less/labels{/name}","releases_url":"https://api.github.com/repos/bogdanRada/sprockets-less/releases{/id}","deployments_url":"https://api.github.com/repos/bogdanRada/sprockets-less/deployments","created_at":"2016-08-24T06:10:58Z","updated_at":"2016-08-29T13:58:41Z","pushed_at":"2017-05-15T12:32:00Z","git_url":"git://github.com/bogdanRada/sprockets-less.git","ssh_url":"git@github.com:bogdanRada/sprockets-less.git","clone_url":"https://github.com/bogdanRada/sprockets-less.git","svn_url":"https://github.com/bogdanRada/sprockets-less","homepage":null,"size":76,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"lloeki:master","ref":"master","sha":"f8cd973dd4dd5111bbda44e6c3fd8f445ab477f7","user":{"login":"lloeki","id":75445,"avatar_url":"https://avatars1.githubusercontent.com/u/75445?v=3","gravatar_id":"","url":"https://api.github.com/users/lloeki","html_url":"https://github.com/lloeki","followers_url":"https://api.github.com/users/lloeki/followers","following_url":"https://api.github.com/users/lloeki/following{/other_user}","gists_url":"https://api.github.com/users/lloeki/gists{/gist_id}","starred_url":"https://api.github.com/users/lloeki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lloeki/subscriptions","organizations_url":"https://api.github.com/users/lloeki/orgs","repos_url":"https://api.github.com/users/lloeki/repos","events_url":"https://api.github.com/users/lloeki/events{/privacy}","received_events_url":"https://api.github.com/users/lloeki/received_events","type":"User","site_admin":false},"repo":{"id":5311457,"name":"sprockets-less","full_name":"lloeki/sprockets-less","owner":{"login":"lloeki","id":75445,"avatar_url":"https://avatars1.githubusercontent.com/u/75445?v=3","gravatar_id":"","url":"https://api.github.com/users/lloeki","html_url":"https://github.com/lloeki","followers_url":"https://api.github.com/users/lloeki/followers","following_url":"https://api.github.com/users/lloeki/following{/other_user}","gists_url":"https://api.github.com/users/lloeki/gists{/gist_id}","starred_url":"https://api.github.com/users/lloeki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lloeki/subscriptions","organizations_url":"https://api.github.com/users/lloeki/orgs","repos_url":"https://api.github.com/users/lloeki/repos","events_url":"https://api.github.com/users/lloeki/events{/privacy}","received_events_url":"https://api.github.com/users/lloeki/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lloeki/sprockets-less","description":"Better Less integration with Sprockets 2.x","fork":false,"url":"https://api.github.com/repos/lloeki/sprockets-less","forks_url":"https://api.github.com/repos/lloeki/sprockets-less/forks","keys_url":"https://api.github.com/repos/lloeki/sprockets-less/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lloeki/sprockets-less/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lloeki/sprockets-less/teams","hooks_url":"https://api.github.com/repos/lloeki/sprockets-less/hooks","issue_events_url":"https://api.github.com/repos/lloeki/sprockets-less/issues/events{/number}","events_url":"https://api.github.com/repos/lloeki/sprockets-less/events","assignees_url":"https://api.github.com/repos/lloeki/sprockets-less/assignees{/user}","branches_url":"https://api.github.com/repos/lloeki/sprockets-less/branches{/branch}","tags_url":"https://api.github.com/repos/lloeki/sprockets-less/tags","blobs_url":"https://api.github.com/repos/lloeki/sprockets-less/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lloeki/sprockets-less/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lloeki/sprockets-less/git/refs{/sha}","trees_url":"https://api.github.com/repos/lloeki/sprockets-less/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lloeki/sprockets-less/statuses/{sha}","languages_url":"https://api.github.com/repos/lloeki/sprockets-less/languages","stargazers_url":"https://api.github.com/repos/lloeki/sprockets-less/stargazers","contributors_url":"https://api.github.com/repos/lloeki/sprockets-less/contributors","subscribers_url":"https://api.github.com/repos/lloeki/sprockets-less/subscribers","subscription_url":"https://api.github.com/repos/lloeki/sprockets-less/subscription","commits_url":"https://api.github.com/repos/lloeki/sprockets-less/commits{/sha}","git_commits_url":"https://api.github.com/repos/lloeki/sprockets-less/git/commits{/sha}","comments_url":"https://api.github.com/repos/lloeki/sprockets-less/comments{/number}","issue_comment_url":"https://api.github.com/repos/lloeki/sprockets-less/issues/comments{/number}","contents_url":"https://api.github.com/repos/lloeki/sprockets-less/contents/{+path}","compare_url":"https://api.github.com/repos/lloeki/sprockets-less/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lloeki/sprockets-less/merges","archive_url":"https://api.github.com/repos/lloeki/sprockets-less/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lloeki/sprockets-less/downloads","issues_url":"https://api.github.com/repos/lloeki/sprockets-less/issues{/number}","pulls_url":"https://api.github.com/repos/lloeki/sprockets-less/pulls{/number}","milestones_url":"https://api.github.com/repos/lloeki/sprockets-less/milestones{/number}","notifications_url":"https://api.github.com/repos/lloeki/sprockets-less/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lloeki/sprockets-less/labels{/name}","releases_url":"https://api.github.com/repos/lloeki/sprockets-less/releases{/id}","deployments_url":"https://api.github.com/repos/lloeki/sprockets-less/deployments","created_at":"2012-08-06T07:54:19Z","updated_at":"2016-11-24T02:09:09Z","pushed_at":"2017-05-15T12:32:01Z","git_url":"git://github.com/lloeki/sprockets-less.git","ssh_url":"git@github.com:lloeki/sprockets-less.git","clone_url":"https://github.com/lloeki/sprockets-less.git","svn_url":"https://github.com/lloeki/sprockets-less","homepage":null,"size":220,"stargazers_count":11,"watchers_count":11,"language":"Ruby","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":9,"mirror_url":null,"open_issues_count":1,"forks":9,"open_issues":1,"watchers":11,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lloeki/sprockets-less/pulls/5"},"html":{"href":"https://github.com/lloeki/sprockets-less/pull/5"},"issue":{"href":"https://api.github.com/repos/lloeki/sprockets-less/issues/5"},"comments":{"href":"https://api.github.com/repos/lloeki/sprockets-less/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/lloeki/sprockets-less/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/lloeki/sprockets-less/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lloeki/sprockets-less/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/lloeki/sprockets-less/statuses/bc20fa41d3bcbe4a1262cc26c24b4346f16228f2"}}}}
{"actor":{"display_login":"lloeki"}}