Explorar el Código

Update Angular.js documentation (1.5.6)

Fixes #405.
Thibaut Courouble hace 9 años
padre
commit
f6530eddcf
Se han modificado 2 ficheros con 17 adiciones y 8 borrados
  1. 10 0
      lib/docs/core/scrapers/url_scraper.rb
  2. 7 8
      lib/docs/scrapers/angular.rb

+ 10 - 0
lib/docs/core/scrapers/url_scraper.rb

@@ -36,6 +36,16 @@ module Docs
       response.success? && response.html? && base_url.contains?(response.effective_url)
     end
 
+    def load_capybara_selenium
+      require 'capybara/dsl'
+      Capybara.register_driver :selenium_marionette do |app|
+        Capybara::Selenium::Driver.new(app, marionette: true)
+      end
+      Capybara.current_driver = :selenium_marionette
+      Capybara.run_server = false
+      Capybara
+    end
+
     module FixRedirectionsBehavior
       def self.included(base)
         base.extend ClassMethods

+ 7 - 8
lib/docs/scrapers/angular.rb

@@ -25,6 +25,7 @@ module Docs
         url.sub! %r{/#{str}/img/}, "/img/"
         url.sub! %r{/#{str}/(.+?)/#{str}/}, "/#{str}/"
         url.sub! %r{/partials/#{str}/(.+?)(?<!\.html)(?:\z|(#.*))}, "/partials/#{str}/\\1.html\\2"
+        url.sub! %r{/partials/.+/#{str}/}, "/partials/#{str}/"
       end
       url
     end
@@ -38,21 +39,19 @@ module Docs
     HTML
 
     stub '' do
-      require 'capybara/dsl'
-      Capybara.current_driver = :selenium
-      Capybara.run_server = false
-      Capybara.app_host = 'https://code.angularjs.org'
-      Capybara.visit("/#{self.class.release}/docs/api")
-      Capybara.find('.side-navigation')['innerHTML']
+      capybara = load_capybara_selenium
+      capybara.app_host = 'https://code.angularjs.org'
+      capybara.visit("/#{self.class.release}/docs/api")
+      capybara.execute_script("return document.querySelector('.side-navigation').innerHTML")
     end
 
     version '1.5' do
-      self.release = '1.5.5'
+      self.release = '1.5.6'
       self.base_url = "https://code.angularjs.org/#{release}/docs/partials/"
     end
 
     version '1.4' do
-      self.release = '1.4.10'
+      self.release = '1.4.11'
       self.base_url = "https://code.angularjs.org/#{release}/docs/partials/"
     end