proxy_rb 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f8f2ff7a132c447ec0c846e16e286c898a1221c5
4
- data.tar.gz: f5f80b116193df7695e0b5f0e52c614f889b04bc
3
+ metadata.gz: 6bc945043463fe4b3e69c8bdf8e125ef58aa8dce
4
+ data.tar.gz: 35765821a441b1d9bbc016bd2c6672cf4c122ee6
5
5
  SHA512:
6
- metadata.gz: f837422215bb89b1e17be474ad595afaaa79173b8b3eca6b06b50f62c35229e0d2e841c14187926269660a74a7d3b251faf4729586b7d6a2c8c22957e6297e1c
7
- data.tar.gz: ed4e7b774c23faa1738f3ed37df85caa9b3311ff5b9b745a019021bdee1176cbc2c11c2def73c0c07e7aac769810e3467026ff888bb6a99daf8eabf1a6f02bd5
6
+ metadata.gz: a9af5d4ece8df28ee2551e2dde1a2f3501081bdf5efcfc394201955528046adcbcfea9a4f39baa17bc0d4a032980b3e61aa44dee3191bccbb75717b8b06477e5
7
+ data.tar.gz: 17309f5b430978403dcd7bd3fedeb86a25d2d4bfff0a873c6c0a42abe357b2c1d295861c8d48a235e2d047111e2a26014cf56032486dc76931d019ff4a7e176c
data/.travis.yml CHANGED
@@ -4,10 +4,11 @@ env:
4
4
  language: ruby
5
5
  bundler_args: --without development debug profile
6
6
  rvm:
7
- - 2.1.5
8
- - 2.2.3
7
+ - 2.1.8
8
+ - 2.2.4
9
9
  - 2.3.0
10
- script: script/test
10
+ - ruby-head
11
+ script: bin/test
11
12
  before_install:
12
13
  - curl -o /tmp/vault.zip https://releases.hashicorp.com/vault/0.5.1/vault_0.5.1_linux_amd64.zip
13
14
  - unzip /tmp/vault.zip
data/Gemfile CHANGED
@@ -5,6 +5,7 @@ source 'https://rubygems.org'
5
5
  gemspec
6
6
 
7
7
  gem 'poltergeist'
8
+ gem 'selenium-webdriver'
8
9
 
9
10
  group :debug do
10
11
  gem 'pry'
data/README.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # ProxyRb
2
2
 
3
+ [![Build Status](https://travis-ci.org/fedux-org/proxy_rb.png?branch=master)](https://travis-ci.org/fedux-org/proxy_rb)
4
+ [![Code Climate](https://codeclimate.com/github/fedux-org/proxy_rb.png)](https://codeclimate.com/github/fedux-org/proxy_rb)
5
+ [![Coverage Status](https://coveralls.io/repos/fedux-org/proxy_rb/badge.png?branch=master)](https://coveralls.io/r/fedux-org/proxy_rb?branch=master)
6
+ [![Gem Version](https://badge.fury.io/rb/proxy_rb.png)](http://badge.fury.io/rb/proxy_rb)
7
+ [![Downloads](http://img.shields.io/gem/dt/proxy_rb.svg?style=flat)](http://rubygems.org/gems/proxy_rb)
8
+
3
9
  `proxy_rb` makes it easier for you to test your proxy infrastructre.
4
10
 
5
11
  ## Installation
data/Rakefile CHANGED
@@ -8,18 +8,18 @@ end
8
8
  # require 'bundler'
9
9
  # Bundler.require :default, :test, :development
10
10
 
11
- require 'coveralls/rake/task'
12
- Coveralls::RakeTask.new
13
-
14
11
  task default: :test
15
12
 
16
13
  desc 'Run test suite'
17
14
  task test: %w(test:rubocop test:rspec test:cucumber)
18
15
 
19
- namespace :test do
20
- desc 'Test with coveralls'
21
- task coveralls: %w(test coveralls:push)
16
+ require 'coveralls/rake/task'
17
+ Coveralls::RakeTask.new
22
18
 
19
+ desc 'Test with coveralls'
20
+ task coveralls: %w(test coveralls:push)
21
+
22
+ namespace :test do
23
23
  require 'rubocop/rake_task'
24
24
  RuboCop::RakeTask.new
25
25
 
data/bin/test CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- bundle exec rake test
3
+ bundle exec rake coveralls
@@ -4,8 +4,8 @@ require 'capybara'
4
4
 
5
5
  begin
6
6
  require 'capybara/poltergeist'
7
- rescue LoadError
8
- ProxyRb.logger.error %(Error loading `poltergeist`-gem. Please add `gem poltergeist` to your `Gemfile`)
7
+ rescue LoadError => e
8
+ ProxyRb.logger.error %(Error loading `poltergeist`-gem: #{e.message}. Please add `gem poltergeist` to your `Gemfile`)
9
9
  exit 1
10
10
  end
11
11
 
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+ require 'proxy_rb/drivers/basic_driver'
3
+ require 'capybara'
4
+ require 'selenium-webdriver'
5
+
6
+ # ProxyRb
7
+ module ProxyRb
8
+ # Drivers
9
+ module Drivers
10
+ # Driver for Selenium
11
+ class SeleniumDriver < BasicDriver
12
+ # Register proxy
13
+ #
14
+ # @param [HttpProxy] proxy
15
+ # The HTTP proxy which should be used for fetching content
16
+ def register(proxy)
17
+ if proxy.empty?
18
+ ::Capybara.current_driver = :selenium
19
+ return
20
+ end
21
+
22
+ profile = Selenium::WebDriver::Firefox::Profile.new
23
+ profile.proxy = Selenium::WebDriver::Proxy.new(http: format('%s:%s', proxy.host, proxy.port))
24
+
25
+ unless ::Capybara.drivers.key? proxy.to_ref
26
+ ::Capybara.register_driver proxy.to_ref do |app|
27
+ ::Capybara::Selenium::Driver.new(app, profile: profile)
28
+ end
29
+ end
30
+
31
+ ::Capybara.current_driver = proxy.to_ref
32
+ end
33
+
34
+ def rescuable_errors
35
+ []
36
+ end
37
+ end
38
+ end
39
+ end
@@ -3,8 +3,8 @@ require 'proxy_rb/drivers/basic_driver'
3
3
 
4
4
  begin
5
5
  require 'capybara/webkit'
6
- rescue LoadError
7
- ProxyRb.logger.error %(Error loading `capybara-webkit`-gem. Please add `gem capybara-webkit` to your `Gemfile`)
6
+ rescue LoadError => e
7
+ ProxyRb.logger.error %(Error loading `capybara-webkit`-gem: #{e.message}. Please add `gem capybara-webkit` to your `Gemfile`)
8
8
  exit 1
9
9
  end
10
10
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  # Main Module
3
3
  module ProxyRb
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: proxy_rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Meyer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-01 00:00:00.000000000 Z
11
+ date: 2016-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -158,6 +158,7 @@ files:
158
158
  - lib/proxy_rb/credentials.rb
159
159
  - lib/proxy_rb/drivers/basic_driver.rb
160
160
  - lib/proxy_rb/drivers/poltergeist_driver.rb
161
+ - lib/proxy_rb/drivers/selenium_driver.rb
161
162
  - lib/proxy_rb/drivers/webkit_driver.rb
162
163
  - lib/proxy_rb/errors.rb
163
164
  - lib/proxy_rb/http_downloader.rb