proxy_pac_rb 0.3.4 → 0.3.6

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.
Files changed (45) hide show
  1. checksums.yaml +5 -13
  2. data/.gitignore +0 -1
  3. data/.rubocop.yml +4 -0
  4. data/Gemfile +30 -19
  5. data/Gemfile.lock +220 -0
  6. data/README.md +3 -0
  7. data/Rakefile +49 -13
  8. data/bin/pprb +1 -116
  9. data/config/license_finder.yml +12 -0
  10. data/config/rubocop/exclude.yml +8 -0
  11. data/config/rubocop/include.yml +27 -0
  12. data/cucumber.yml +2 -0
  13. data/doc/dependencies/dependencies.db +0 -0
  14. data/features/resolve_proxy.feature +17 -0
  15. data/features/support/aruba.rb +13 -0
  16. data/features/support/env.rb +10 -1
  17. data/features/support/fixtures.rb +15 -0
  18. data/features/support/reporting.rb +2 -0
  19. data/lib/proxy_pac_rb/cli.rb +75 -0
  20. data/lib/proxy_pac_rb/cli_validator.rb +34 -0
  21. data/lib/proxy_pac_rb/encoding.rb +1 -1
  22. data/lib/proxy_pac_rb/environment.rb +10 -8
  23. data/lib/proxy_pac_rb/exceptions.rb +4 -4
  24. data/lib/proxy_pac_rb/file.rb +3 -3
  25. data/lib/proxy_pac_rb/parser.rb +11 -2
  26. data/lib/proxy_pac_rb/proxy_pac_js.rb +5 -5
  27. data/lib/proxy_pac_rb/runtime.rb +6 -5
  28. data/lib/proxy_pac_rb/runtimes/rubyracer.rb +42 -35
  29. data/lib/proxy_pac_rb/runtimes/rubyrhino.rb +27 -22
  30. data/lib/proxy_pac_rb/runtimes.rb +13 -15
  31. data/lib/proxy_pac_rb/version.rb +3 -2
  32. data/lib/proxy_pac_rb.rb +7 -3
  33. data/proxy_pac_rb.gemspec +1 -1
  34. data/script/ci +0 -4
  35. data/script/test_web +2 -1
  36. data/spec/environment_spec.rb +23 -23
  37. data/spec/file_spec.rb +5 -5
  38. data/spec/parser_spec.rb +16 -13
  39. data/spec/support/aruba.rb +50 -0
  40. data/spec/support/rspec.rb +18 -4
  41. data/spec/support/{string.rb → strip.rb} +0 -0
  42. data/tmp/script.rb +0 -2
  43. metadata +37 -29
  44. data/spec/support/environment.rb +0 -17
  45. data/spec/support/filesystem.rb +0 -20
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZmUwYmYzZTQ5ZDI1YTE5MWVlNTQ0ZThhMGRhYjUwNmM2OWVlZWE1ZA==
5
- data.tar.gz: !binary |-
6
- OTgwOWNmNGM5YTY2NDU0MzQ2MTJhMzY2ZGFiMzM2ZTgwM2QxNTRmYw==
2
+ SHA1:
3
+ metadata.gz: 1ff197d6ab742c5e43e2a6ca3b5d9ed6e482ef3d
4
+ data.tar.gz: e25cecd2819edc2431a0011516cbf96a81204b50
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YmEwZTU3MjE1ZmFjOWQ4MWU4YjlhZjVmMjYwYjdjMDY2YTcyYjY0YTMyMTY1
10
- YWNiZGVkNDc2ZWMzYWYwYzg4MWMxOGFlYzZhNmQyMTMzODEzZjc0ZDkyYzY0
11
- ZTljNjJkZDZlZWE1NTIyODk5OWZiYzBmZDdjOGNmM2FmZmQzMmY=
12
- data.tar.gz: !binary |-
13
- OGJhOTczZGI3MDI0ZmU0NDYwZTU1NzQ2MWJkNzM4ZTdkZTRkMGNiYTc2OGU4
14
- N2JmOGNiZmJlNGRlMWFmNjU1YzhjMTc4ZGMzYzA2YjFiZjJmYjVkNzRlMWVk
15
- OGE2MDZhMDgzMTk0ZmY0YmQwMmYxMmVjYjJhNDhiY2E0ZjdmOWU=
6
+ metadata.gz: a4eec5297aef87e2bd79f5d9028210d42beb05171babd1fb0b970131397761d06963bdb323c88f15ac4a12fcedd12a876e585a3e57d70de7ca49d93bbd06df7a
7
+ data.tar.gz: ef7aec25f1e9bdf60636b05b93a49c61fd5c8483ea7e2cc027c216189b20e6f3465b3d29b5eaeb13d94f95b87f0febdbb09b2ae212c81633237b2fabfe4f3cd3
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  *.gem
2
2
  .bundle
3
- Gemfile.lock
4
3
  pkg/*
5
4
  coverage
6
5
  tmp/
data/.rubocop.yml ADDED
@@ -0,0 +1,4 @@
1
+ inherit_from:
2
+ - config/rubocop/include.yml
3
+ - config/rubocop/exclude.yml
4
+ - .rubocop_todo.yml
data/Gemfile CHANGED
@@ -13,35 +13,46 @@ group :test do
13
13
  gem 'aruba', require: false
14
14
  end
15
15
 
16
- group :development do
17
- gem 'debugger'
18
- gem 'debugger-completion'
16
+ group :development, :test do
17
+ if !ENV.key?('CI') && !ENV.key?('TRAVIS')
18
+ gem 'pry'
19
+ gem 'pry-doc', require: false
20
+
21
+ if RUBY_VERSION > '2.0.0'
22
+ gem 'byebug'
23
+ gem 'pry-byebug', require: false
24
+ else
25
+ gem 'debugger'
26
+ gem 'pry-debugger'
27
+ end
28
+ end
29
+
30
+ gem 'activesupport', '~> 4.0.0', require: false
31
+ gem 'awesome_print', require: 'ap'
32
+ gem 'bundler', '~> 1.3', require: false
33
+ gem 'command_exec', require: false
34
+ gem 'erubis'
35
+ gem 'fedux_org-stdlib', '~>0.7.25', require: false
36
+ gem 'filegen'
37
+ gem 'foreman', require: false
19
38
  gem 'github-markup'
20
- gem 'pry'
21
- gem 'pry-debugger', require: false
22
- gem 'pry-doc', require: false
39
+ gem 'inch', require: false
40
+ gem 'launchy', require: false
41
+ gem 'license_finder'
42
+ gem 'rack'
43
+ gem 'rake', require: false
23
44
  gem 'redcarpet', require: false
45
+ gem 'sinatra', require: 'sinatra/base'
24
46
  gem 'tmrb', require: false
47
+ gem 'travis-lint', require: false
48
+ gem 'versionomy', require: false
25
49
  gem 'yard', require: false
26
- gem 'inch', require: false
27
50
  end
28
51
 
29
52
  group :profile do
30
53
  gem 'ruby-prof'
31
54
  end
32
55
 
33
- gem 'rake', group: [:development, :test], require: false
34
- gem 'fedux_org-stdlib', group: [:development, :test], require: false
35
- gem 'bundler', '~> 1.3', group: [:development, :test], require: false
36
- gem 'erubis', group: [:development, :test]
37
- gem 'versionomy', group: [:development, :test], require: false
38
- gem 'filegen', group: [:development, :test]
39
- gem 'sinatra', group: [:development, :test], require: 'sinatra/base'
40
- gem 'rack', group: [:development, :test]
41
- gem 'activesupport', '~> 4.0.0', group: [:development, :test], require: false
42
-
43
- gem 'awesome_print', group: [:development, :test], require: 'ap'
44
-
45
56
  group :runtimes do
46
57
  group :therubyracer do
47
58
  gem 'therubyracer', require: 'v8'
data/Gemfile.lock ADDED
@@ -0,0 +1,220 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ proxy_pac_rb (0.3.5)
5
+ activesupport
6
+ addressable
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activesupport (4.0.9)
12
+ i18n (~> 0.6, >= 0.6.9)
13
+ minitest (~> 4.2)
14
+ multi_json (~> 1.3)
15
+ thread_safe (~> 0.1)
16
+ tzinfo (~> 0.3.37)
17
+ addressable (2.3.6)
18
+ aruba (0.6.1)
19
+ childprocess (>= 0.3.6)
20
+ cucumber (>= 1.1.1)
21
+ rspec-expectations (>= 2.7.0)
22
+ ast (2.0.0)
23
+ astrolabe (1.3.0)
24
+ parser (>= 2.2.0.pre.3, < 3.0)
25
+ awesome_print (1.2.0)
26
+ blockenspiel (0.4.5)
27
+ builder (3.2.2)
28
+ byebug (3.4.0)
29
+ columnize (~> 0.8)
30
+ debugger-linecache (~> 1.2)
31
+ slop (~> 3.6)
32
+ childprocess (0.5.3)
33
+ ffi (~> 1.0, >= 1.0.11)
34
+ coderay (1.1.0)
35
+ columnize (0.8.9)
36
+ command_exec (0.2.0)
37
+ activesupport
38
+ smart_colored
39
+ xml-simple
40
+ coveralls (0.7.1)
41
+ multi_json (~> 1.3)
42
+ rest-client
43
+ simplecov (>= 0.7)
44
+ term-ansicolor
45
+ thor
46
+ cucumber (1.3.16)
47
+ builder (>= 2.1.2)
48
+ diff-lcs (>= 1.1.3)
49
+ gherkin (~> 2.12)
50
+ multi_json (>= 1.7.5, < 2.0)
51
+ multi_test (>= 0.1.1)
52
+ debugger-linecache (1.2.0)
53
+ diff-lcs (1.2.5)
54
+ docile (1.1.5)
55
+ dotenv (0.11.1)
56
+ dotenv-deployment (~> 0.0.2)
57
+ dotenv-deployment (0.0.2)
58
+ erubis (2.7.0)
59
+ fedux_org-stdlib (0.7.25)
60
+ activesupport
61
+ ffi (1.9.3)
62
+ filegen (0.4.3)
63
+ activesupport
64
+ foreman (0.75.0)
65
+ dotenv (~> 0.11.1)
66
+ thor (~> 0.19.1)
67
+ fuubar (2.0.0)
68
+ rspec (~> 3.0)
69
+ ruby-progressbar (~> 1.4)
70
+ gherkin (2.12.2)
71
+ multi_json (~> 1.3)
72
+ github-markup (1.2.1)
73
+ posix-spawn (~> 0.3.8)
74
+ httparty (0.13.1)
75
+ json (~> 1.8)
76
+ multi_xml (>= 0.5.2)
77
+ i18n (0.6.11)
78
+ inch (0.4.10)
79
+ pry
80
+ sparkr (>= 0.2.0)
81
+ term-ansicolor
82
+ yard (~> 0.8.7)
83
+ json (1.8.1)
84
+ launchy (2.4.2)
85
+ addressable (~> 2.3)
86
+ libv8 (3.16.14.5)
87
+ license_finder (1.1.1)
88
+ bundler
89
+ httparty
90
+ sequel
91
+ sqlite3
92
+ thor
93
+ xml-simple
94
+ method_source (0.8.2)
95
+ mime-types (2.3)
96
+ minitest (4.7.5)
97
+ multi_json (1.10.1)
98
+ multi_test (0.1.1)
99
+ multi_xml (0.5.5)
100
+ netrc (0.7.7)
101
+ parser (2.2.0.pre.4)
102
+ ast (>= 1.1, < 3.0)
103
+ slop (~> 3.4, >= 3.4.5)
104
+ posix-spawn (0.3.9)
105
+ powerpack (0.0.9)
106
+ pry (0.10.1)
107
+ coderay (~> 1.1.0)
108
+ method_source (~> 0.8.1)
109
+ slop (~> 3.4)
110
+ pry-byebug (2.0.0)
111
+ byebug (~> 3.4)
112
+ pry (~> 0.10)
113
+ pry-doc (0.6.0)
114
+ pry (~> 0.9)
115
+ yard (~> 0.8)
116
+ rack (1.5.2)
117
+ rack-protection (1.5.3)
118
+ rack
119
+ rainbow (2.0.0)
120
+ rake (10.3.2)
121
+ redcarpet (3.1.2)
122
+ ref (1.0.5)
123
+ rest-client (1.7.2)
124
+ mime-types (>= 1.16, < 3.0)
125
+ netrc (~> 0.7)
126
+ rspec (3.1.0)
127
+ rspec-core (~> 3.1.0)
128
+ rspec-expectations (~> 3.1.0)
129
+ rspec-mocks (~> 3.1.0)
130
+ rspec-core (3.1.2)
131
+ rspec-support (~> 3.1.0)
132
+ rspec-expectations (3.1.0)
133
+ diff-lcs (>= 1.2.0, < 2.0)
134
+ rspec-support (~> 3.1.0)
135
+ rspec-mocks (3.1.0)
136
+ rspec-support (~> 3.1.0)
137
+ rspec-support (3.1.0)
138
+ rubocop (0.26.0)
139
+ astrolabe (~> 1.3)
140
+ parser (>= 2.2.0.pre.4, < 3.0)
141
+ powerpack (~> 0.0.6)
142
+ rainbow (>= 1.99.1, < 3.0)
143
+ ruby-progressbar (~> 1.4)
144
+ ruby-prof (0.15.1)
145
+ ruby-progressbar (1.5.1)
146
+ sequel (4.14.0)
147
+ simplecov (0.9.0)
148
+ docile (~> 1.1.0)
149
+ multi_json
150
+ simplecov-html (~> 0.8.0)
151
+ simplecov-html (0.8.0)
152
+ sinatra (1.4.5)
153
+ rack (~> 1.4)
154
+ rack-protection (~> 1.4)
155
+ tilt (~> 1.3, >= 1.3.4)
156
+ slop (3.6.0)
157
+ smart_colored (1.1.1)
158
+ sparkr (0.4.1)
159
+ sqlite3 (1.3.9)
160
+ term-ansicolor (1.3.0)
161
+ tins (~> 1.0)
162
+ therubyracer (0.12.1)
163
+ libv8 (~> 3.16.14.0)
164
+ ref
165
+ therubyrhino (2.0.4)
166
+ therubyrhino_jar (>= 1.7.3)
167
+ therubyrhino_jar (1.7.4)
168
+ thor (0.19.1)
169
+ thread_safe (0.3.4)
170
+ tilt (1.4.1)
171
+ tins (1.3.2)
172
+ tmrb (1.2.7)
173
+ thor
174
+ travis-lint (2.0.0)
175
+ json
176
+ tzinfo (0.3.41)
177
+ versionomy (0.4.4)
178
+ blockenspiel (>= 0.4.5)
179
+ xml-simple (1.1.4)
180
+ yard (0.8.7.4)
181
+
182
+ PLATFORMS
183
+ ruby
184
+
185
+ DEPENDENCIES
186
+ activesupport (~> 4.0.0)
187
+ aruba
188
+ awesome_print
189
+ bundler (~> 1.3)
190
+ byebug
191
+ command_exec
192
+ coveralls
193
+ cucumber
194
+ erubis
195
+ fedux_org-stdlib (~> 0.7.25)
196
+ filegen
197
+ foreman
198
+ fuubar
199
+ github-markup
200
+ inch
201
+ launchy
202
+ license_finder
203
+ proxy_pac_rb!
204
+ pry
205
+ pry-byebug
206
+ pry-doc
207
+ rack
208
+ rake
209
+ redcarpet
210
+ rspec
211
+ rubocop
212
+ ruby-prof
213
+ simplecov
214
+ sinatra
215
+ therubyracer
216
+ therubyrhino
217
+ tmrb
218
+ travis-lint
219
+ versionomy
220
+ yard
data/README.md CHANGED
@@ -167,3 +167,6 @@ rake test:rspec
167
167
  rake test:rubyracer
168
168
  rake test:rubyrhino
169
169
  ```
170
+
171
+ If you want to open an issue. Please send a PR with a test describing the bug.
172
+
data/Rakefile CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env rake
2
2
 
3
- #require 'bundler'
4
- #Bundler.require :default, :test, :development
3
+ # require 'bundler'
4
+ # Bundler.require :default, :test, :development
5
5
 
6
6
  require 'filegen'
7
- require 'fedux_org/stdlib/rake'
7
+ require 'fedux_org_stdlib/rake_tasks'
8
8
  require 'active_support/core_ext/string/inflections'
9
9
  require 'open3'
10
10
 
@@ -13,7 +13,9 @@ def software
13
13
  end
14
14
 
15
15
  def gemspec
16
+ # rubocop:disable Lint/Eval
16
17
  eval File.read(Dir.glob(File.join(File.expand_path('../', __FILE__), '*.gemspec')).first)
18
+ # rubocop:enable Lint/Eval
17
19
  end
18
20
 
19
21
  def version
@@ -49,7 +51,7 @@ def gem_directory
49
51
  ::File.join(root_directory, 'vendor', 'cache')
50
52
  end
51
53
 
52
- task :default => 'gem:build'
54
+ task default: 'gem:build'
53
55
 
54
56
  file gem_file => 'gem:build'
55
57
 
@@ -62,38 +64,38 @@ file archlinux_build_directory do
62
64
  end
63
65
 
64
66
  def extract_sha
65
- %x[makepkg -g 2>/dev/null].split(/\n/).find { |l| l =~ /sha256/ }
67
+ `makepkg -g 2>/dev/null`.split(/\n/).find { |l| l =~ /sha256/ }
66
68
  end
67
69
 
68
70
  namespace :package do
69
71
  desc 'build arch linux package'
70
- task :archlinux => [gem_file, archlinux_build_directory] do
72
+ task archlinux: [gem_file, archlinux_build_directory] do
71
73
  FileUtils.mv ::File.join(pkg_directory, "#{software}-#{version}.gem"), archlinux_build_directory
72
74
 
73
75
  generator = Filegen::Rubygen.new
74
76
  template = File.read(File.expand_path('../share/archlinux/PKGBUILD.sh.erb', __FILE__))
75
77
  build_file = File.expand_path('../share/archlinux/PKGBUILD', __FILE__)
76
78
 
77
- data = {
78
- sha: nil,
79
- version: version,
79
+ data = {
80
+ sha: nil,
81
+ version: version
80
82
  }
81
83
 
82
84
  Dir.chdir(archlinux_build_directory) do
83
85
  File.open(build_file, 'w') do |f|
84
- f.write generator.run(template, data )
86
+ f.write generator.run(template, data)
85
87
  end
86
88
 
87
89
  data = {
88
90
  sha: extract_sha,
89
- version: version,
91
+ version: version
90
92
  }
91
93
 
92
94
  File.open(build_file, 'w') do |f|
93
95
  f.write generator.run(template, data)
94
96
  end
95
97
 
96
- sh "makepkg -f"
98
+ sh 'makepkg -f'
97
99
  end
98
100
  end
99
101
  end
@@ -101,7 +103,41 @@ end
101
103
  require 'coveralls/rake/task'
102
104
  Coveralls::RakeTask.new
103
105
 
106
+ desc 'Run test suite'
107
+ task :test do
108
+ Rake::Task['test:before'].execute
109
+
110
+ begin
111
+ %w(test:rubocop test:rspec test:cucumber test:after).each { |t| Rake::Task[t].execute }
112
+ ensure
113
+ Rake::Task['test:after'].execute
114
+ end
115
+ end
116
+
104
117
  namespace :test do
105
118
  desc 'Test with coveralls'
106
- task :coveralls => ['test:rspec', 'test:cucumber', 'coveralls:push']
119
+ task coveralls: %w(test coveralls:push)
120
+
121
+ require 'rubocop/rake_task'
122
+ RuboCop::RakeTask.new
123
+
124
+ desc 'Run rspec'
125
+ task :rspec do
126
+ sh 'bundle exec rspec'
127
+ end
128
+
129
+ desc 'Run cucumber'
130
+ task :cucumber do
131
+ sh 'bundle exec cucumber -p all'
132
+ end
133
+
134
+ desc 'Setup test environment'
135
+ task :before do
136
+ @web_server = Process.spawn 'script/test_web'
137
+ end
138
+
139
+ desc 'Teardown test environment'
140
+ task :after do
141
+ sh "kill #{@web_server}"
142
+ end
107
143
  end