module Docs class Drupal < UrlScraper self.type = 'drupal' self.base_url = 'https://api.drupal.org/api/drupal/' self.links = { home: 'https://www.drupal.org/', code: 'http://cgit.drupalcode.org/drupal' } html_filters.push 'drupal/entries', 'drupal/clean_html', 'title' options[:decode_and_clean_paths] = true options[:container] = '#page-inner' options[:title] = false options[:root_title] = 'Drupal' options[:skip_link] = ->(link) { link['href'] =~ /[\?&]order/ } options[:skip_patterns] = [ /test/i, /_update_[0-9]{4}/, /\/group\/updates\-\d/, /interface\/implements/, /\/(class|interface|trait)\/hierarchy\//, /\/(class|interface|trait)\/uses\//, /\/(class|interface|trait)\/references\//, /\/(class|interface|trait)\/annotations\//, /\/function\/calls\//, /\/function\/invokes\//, /\/function\/overrides\//, /\/function\/references\//, /\/function\/implementations\//, /\/function\/theme_references\//, /upgrade/, /DRUPAL_ROOT/, /constant\/constants/, /theme_invokes/ ] options[:attribution] = <<-HTML © 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert. HTML version '8' do self.release = '8.1.7' self.root_path = '8.1.x' self.initial_paths = %w(groups/8.1.x groups/8.1.x?page=1) options[:only_patterns] = [ /\/class\/[^\/]+\/8\.1\.x\z/, /\/group\/[^\/]+\/8\.1\.x\z/, /\/function\/[^\/]+\/8\.1\.x\z/, /\/constant\/[^\/]+\/8\.1\.x\z/, /\/interface\/[^\/]+\/8\.1\.x\z/, /\/property\/[^\/]+\/8\.1\.x\z/, /\/global\/[^\/]+\/8\.1\.x\z/, /\/trait\/[^\/]+\/8\.1\.x\z/, /modules.*\/8\.1\.x\z/, /includes.*\/8\.1\.x\z/, /\A[\w\-\.]+\.php\/8\.1\.x\z/ ] options[:skip] = %w(index.php/8.1.x update.php/8.1.x) options[:skip_patterns] += [ /[^\w\-\.].*\.php\/8\.1\.x\z/, /\!src\!/, /migrate/, /Assertion/, /listing_page/, /update_api/, /vendor/, /deprecated/, /namespace/, /\.yml/, /Plugin/, /\.theme\// ] end version '7' do self.release = '7.50' self.root_path = '7.x' self.initial_paths = %w(groups/7.x groups/7.x?page=1) options[:only_patterns] = [ /\/class\/[^\/]+\/7\.x\z/, /\/group\/[^\/]+\/7\.x\z/, /\/function\/[^\/]+\/7\.x\z/, /\/constant\/[^\/]+\/7\.x\z/, /\/interface\/[^\/]+\/7\.x\z/, /\/property\/[^\/]+\/7\.x\z/, /\/global\/[^\/]+\/7\.x\z/, /modules.*\/7\.x\z/, /includes.*\/7\.x\z/, /\A[\w\-\.]+\.php\/7\.x\z/ ] end def get_latest_version(opts) json = fetch_json('https://packagist.org/packages/drupal/drupal.json', opts) json['package']['versions'].keys.find {|version| !version.end_with?('-dev')} end end end