36 lines · 1.0 KB · Ruby
RawDownload
module Docs  class Redis < UrlScraper    self.type = 'redis'    self.release = '7.0.10'    self.base_url = 'https://redis.io/commands'    self.links = {      home: 'https://redis.io/',      code: 'https://github.com/redis/redis'    }     html_filters.push 'redis/entries', 'redis/clean_html', 'title'     options[:container] = ->(filter) { filter.root_page? ? '#commands-grid' : 'section' }    options[:title] = false    options[:root_title] = 'Redis'    options[:follow_links] = ->(filter) { filter.root_page? }     options[:attribution] = <<-HTML      &copy; 2006&ndash;2022 Salvatore Sanfilippo<br>      Licensed under the Creative Commons Attribution-ShareAlike License 4.0.    HTML     def get_latest_version(opts)      body = fetch('http://download.redis.io/redis-stable/00-RELEASENOTES', opts)      body.scan(/Redis Community Edition ([0-9.]+)/)[0][0]    end     private     def parse(response)      response.body.gsub! '<form', '<pre'      response.body.gsub! '</form', '</pre'      super    end  endend