module Docs class Ember < UrlScraper class << self attr_accessor :guide_url end self.name = 'Ember.js' self.slug = 'ember' self.type = 'ember' self.release = '2.7.0' self.base_url = 'http://emberjs.com/api/' self.guide_url = "https://guides.emberjs.com/v#{self.release}/" self.initial_urls = [guide_url] self.links = { home: 'http://emberjs.com/', code: 'https://github.com/emberjs/ember.js' } html_filters.push 'ember/entries', 'ember/clean_html', 'title' options[:trailing_slash] = false options[:title] = false options[:root_title] = 'Ember.js' options[:container] = ->(filter) do if filter.base_url.path.start_with?('/api') filter.root_page? ? '#toc-list' : '#content' else 'main' end end # Duplicates options[:skip] = %w(classes/String.html data/classes/DS.html) options[:skip_patterns] = [/\._/, /contributing/] options[:attribution] = <<-HTML © 2016 Yehuda Katz, Tom Dale and Ember.js contributors
Licensed under the MIT License. HTML def guide_url @guide_url ||= URL.parse(self.class.guide_url) end private def process_url?(url) base_url.contains?(url) || guide_url.contains?(url) end def process_response(response) original_scheme = @base_url.scheme original_host = @base_url.host original_path = @base_url.path @base_url.scheme = response.effective_url.scheme @base_url.host = response.effective_url.host @base_url.path = response.effective_url.path[/\A\/v[\d\.]+\//, 0] || '/api/' super ensure @base_url.scheme = original_scheme @base_url.host = original_host @base_url.path = original_path end end end