| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- module Docs
- class Rethinkdb < UrlScraper
- self.name = 'RethinkDB'
- self.type = 'rethinkdb'
- self.base_url = 'https://rethinkdb.com/'
- self.release = '2.4.1'
- 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
- version 'javascript' do
- self.initial_paths = %w(api/javascript/)
- options[:only_patterns] += [/\Aapi\/javascript\//]
- options[:fix_urls] = ->(url) do
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})\\z}, 'rethinkdb.com/docs/\\1/javascript/'
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})/(?!javascript/).*}, 'rethinkdb.com/docs/\\1/javascript/'
- url.sub! %r{rethinkdb.com/api/(?!javascript|ruby|python|java)}, 'rethinkdb.com/api/javascript/'
- url
- end
- end
- version 'ruby' do
- self.initial_paths = %w(api/ruby/)
- options[:only_patterns] += [/\Aapi\/ruby\//]
- options[:fix_urls] = ->(url) do
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})\\z}, 'rethinkdb.com/docs/\\1/ruby/'
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})/(?!ruby/).*}, 'rethinkdb.com/docs/\\1/ruby/'
- url.sub! %r{rethinkdb.com/api/(?!javascript|ruby|python|java)}, 'rethinkdb.com/api/ruby/'
- url
- end
- end
- version 'python' do
- self.initial_paths = %w(api/python/)
- options[:only_patterns] += [/\Aapi\/python\//]
- options[:fix_urls] = ->(url) do
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})\\z}, 'rethinkdb.com/docs/\\1/python/'
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})/(?!python/).*}, 'rethinkdb.com/docs/\\1/python/'
- url.sub! %r{rethinkdb.com/api/(?!javascript|ruby|python|java)}, 'rethinkdb.com/api/python/'
- url
- end
- end
- version 'java' do
- self.initial_paths = %w(api/java/)
- options[:only_patterns] += [/\Aapi\/java\//]
- options[:fix_urls] = ->(url) do
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})\\z}, 'rethinkdb.com/docs/\\1/java/'
- url.sub! %r{rethinkdb.com/docs/(#{MULTILANG_DOCS.join('|')})/(?!java/).*}, 'rethinkdb.com/docs/\\1/java/'
- url.sub! %r{rethinkdb.com/api/(?!javascript|ruby|python|java)}, 'rethinkdb.com/api/java/'
- url
- end
- 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
|