|
|
@@ -1,16 +1,12 @@
|
|
|
module Docs
|
|
|
class Ember < UrlScraper
|
|
|
- class << self
|
|
|
- attr_accessor :guide_url
|
|
|
- end
|
|
|
+ include MultipleBaseUrls
|
|
|
|
|
|
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.base_urls = ['http://emberjs.com/api/', "https://guides.emberjs.com/v#{self.release}/"]
|
|
|
self.links = {
|
|
|
home: 'http://emberjs.com/',
|
|
|
code: 'https://github.com/emberjs/ember.js'
|
|
|
@@ -39,29 +35,5 @@ module Docs
|
|
|
© 2016 Yehuda Katz, Tom Dale and Ember.js contributors<br>
|
|
|
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
|