Преглед изворни кода

Merge pull request #1482 from MasterEnoc/openjdk

Add overloaded methods to openjdk 11 & 8
Simon Legner пре 4 година
родитељ
комит
0f386fb46a
2 измењених фајлова са 17 додато и 24 уклоњено
  1. 14 24
      lib/docs/filters/openjdk/entries.rb
  2. 3 0
      lib/docs/scrapers/openjdk.rb

+ 14 - 24
lib/docs/filters/openjdk/entries.rb

@@ -27,34 +27,24 @@ module Docs
       end
 
       def additional_entries
-        # Only keep the first found entry with a unique name,
-        # i.e. overloaded methods are skipped in index
-        if version == '8' || version == '8 Gui' || version == '8 Web'
-          css('a[name$=".summary"]').each_with_object({}) do |summary, entries|
-            next if summary['name'].include?('nested') || summary['name'].include?('constructor') ||
-                    summary['name'].include?('field') || summary['name'].include?('constant')
-            summary.parent.css('.memberNameLink a').each do |node|
-              name = node.parent.parent.content.strip
-              name.sub! %r{\(.+?\)}m, '()'
-              id = node['href'].remove(%r{.*#})
-              entries[name] ||= ["#{self.name}.#{name}", id]
-            end
-          end.values
+        entries = []
 
-        else
-          css('a[id$=".summary"]').each_with_object({}) do |summary, entries|
-            next if summary['id'].include?('nested') || summary['id'].include?('constructor') ||
-                    summary['id'].include?('field') || summary['id'].include?('constant')
-            summary.parent.css('.memberNameLink a').each do |node|
-              name = node.parent.parent.content.strip
-              name.sub! %r{\(.+?\)}m, '()'
-              id = node['href'].remove(%r{.*#})
-              entries[name] ||= ["#{self.name}.#{name}", id]
-            end
-          end.values
+        css('.memberNameLink a').each do |node|
+          next unless node['href'].match?(/[-(]/) # skip non-methods
+
+          if (version=='8' || version == '8 GUI' || version == '8 Web')
+            id = node['href'].gsub(/.*#/, '')
+          else
+            id = slug.downcase + node['href']
+          end
+
+          entries << [self.name + '.' + node.content + '()', id]
         end
 
+        entries
+
       end
+
     end
   end
 end

+ 3 - 0
lib/docs/scrapers/openjdk.rb

@@ -59,6 +59,7 @@ module Docs
 
     version '8' do
       self.release = '8'
+      self.base_url = 'https://docs.oracle.com/javase/8/docs/api/'
 
       html_filters.push OLDFILTERS
 
@@ -90,6 +91,7 @@ module Docs
 
     version '8 GUI' do
       self.release = '8'
+      self.base_url = 'https://docs.oracle.com/javase/8/docs/api/'
 
       html_filters.push OLDFILTERS
 
@@ -102,6 +104,7 @@ module Docs
 
     version '8 Web' do
       self.release = '8'
+      self.base_url = 'https://docs.oracle.com/javase/8/docs/api/'
 
       html_filters.push OLDFILTERS