1
0

perl.rb 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. module Docs
  2. class Perl < FileScraper
  3. self.name = 'Perl'
  4. self.type = 'perl'
  5. self.root_path = 'index.html'
  6. self.links = {
  7. home: 'https://www.perl.org/'
  8. }
  9. html_filters.push 'perl/entries', 'perl/clean_html'
  10. options[:skip] = %w(
  11. preferences.html
  12. perlartistic.html
  13. perlgpl.html
  14. perlhist.html
  15. perltodo.html )
  16. options[:skip_patterns] = [/\.pdf/, /delta\.html/]
  17. options[:attribution] = <<-HTML
  18. &copy; 1993&ndash;2016 Larry Wall and others<br>
  19. Licensed under the GNU General Public License version 1 or later, or the Artistic License.<br>
  20. The Perl logo is a trademark of the Perl Foundation.
  21. HTML
  22. version '5.26' do
  23. self.release = '5.26.0'
  24. self.base_url = "https://perldoc.perl.org/#{self.release}/"
  25. end
  26. version '5.24' do
  27. self.release = '5.24.0'
  28. self.base_url = "https://perldoc.perl.org/#{self.release}/"
  29. end
  30. version '5.22' do
  31. self.release = '5.22.0'
  32. self.base_url = "https://perldoc.perl.org/#{self.release}/"
  33. end
  34. version '5.20' do
  35. self.release = '5.20.2'
  36. self.base_url = "https://perldoc.perl.org/#{self.release}/"
  37. end
  38. def get_latest_version(opts)
  39. body = fetch('https://perldoc.perl.org/static/perlversion.js', opts)
  40. body.scan(/>Perl ([0-9.]+)/)[0][0]
  41. end
  42. end
  43. end