| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- module Docs
- class Rethinkdb < UrlScraper
- self.name = 'RethinkDB'
- self.type = 'rethinkdb'
- self.base_url = 'https://rethinkdb.com/'
- self.release = '2.3.5'
- self.root_path = 'docs/'
- self.links = {
- home: 'https://rethinkdb.com/',
- code: 'https://github.com/rethinkdb/rethinkdb'
- }
- html_filters.push 'rethinkdb/entries', 'rethinkdb/clean_html'
- options[:trailing_slash] = true
- options[:container] = '.documentation'
- options[:only_patterns] = [/\Adocs/]
- options[:skip_patterns] = [/docs\/install(\-drivers)?\/./]
- options[:skip] = %w(
- docs/build/
- docs/tutorials/elections/
- docs/tutorials/superheroes/)
- MULTILANG_DOCS = %w(
- changefeeds
- cookbook
- dates-and-times
- geo-support
- guide
- nested-fields
- publish-subscribe
- rabbitmq
- secondary-indexes
- sql-to-reql
- storing-binary)
- options[:attribution] = <<-HTML
- © RethinkDB contributors<br>
- Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
- HTML
- %w(JavaScript Ruby Python Java).each do |name|
- path = name.downcase
- instance_eval <<-CODE
- version '#{name}' do
- self.initial_paths = %w(api/#{path}/)
- options[:only_patterns] += [/\\Aapi\\/#{path}\\//]
- options[:fix_urls] = ->(url) do
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})\\z}, 'rethinkdb.com/docs/\\1/#{path}/'
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})/(?!#{path}/).*}, 'rethinkdb.com/docs/\\1/#{path}/'
- url.sub! %r{rethinkdb.com/api/(?!javascript|ruby|python|java)}, 'rethinkdb.com/api/#{path}/'
- url
- end
- end
- CODE
- end
- def get_latest_version(opts)
- get_latest_github_release('rethinkdb', 'rethinkdb', opts)
- end
- private
- def process_response?(response)
- return false unless super
- response.body !~ /http-equiv="refresh"/i
- end
- end
- end
|