proxy_manager 0.0.2 → 0.0.3

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 (6) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +95 -0
  3. data/lib/proxy_manager.rb +13 -0
  4. metadata +76 -19
  5. data/.rspec +0 -3
  6. data/README.rdoc +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fe7f910d9310e38469d40a4a72286f72217544da
4
- data.tar.gz: 4567b6b40b3b556ab08eca47bd7f5f6df03aabce
3
+ metadata.gz: 0b3f7a709cf3a85f0d3ab79c68823623ce793adf
4
+ data.tar.gz: cda96c254dec2a68e26121aabf8e09d47c8f794e
5
5
  SHA512:
6
- metadata.gz: 3155dc554b0ce53f2758095a2ad5acdf1f14c64d25bf56ba97ae3432d566df34063945c84b497c6ec755012fac144defda9791210b11cb2d5694cf9e4cfe8027
7
- data.tar.gz: 67efd91bad3b9d432ba8fd46c634e7776b2fe79fff1cb73f053ee9c766629f3fc962eea0327a2bfd083c951ce9fa4d9df8267cc25b6ae4deba4d2517e1ab371d
6
+ metadata.gz: 8827b0cd157a89c8fbe3fda76587c51ff151f74c439f649606d36ee5bf64604fa3b89eeff96cc1edb1d985d818902413dbf7b340ea1fbd648c7df6ec6c00fc8d
7
+ data.tar.gz: 42bbf016d03a8d91ac37fcbb74ea0d4dd6dd1a634aa8beec7170da4a4e60c596611cc9eb00328c2a1c812941cd6c9fe1e3d2e93ea9ad6ecbe64d0cb152ac8f64
data/README.md ADDED
@@ -0,0 +1,95 @@
1
+ # Ruby Proxy Manager
2
+
3
+ Easy manage proxy in your parsers/web-bots.
4
+
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'proxy_manager'
12
+ ```
13
+
14
+ And then execute:
15
+
16
+ ```bash
17
+ $ bundle
18
+ ```
19
+
20
+ Or install it yourself as:
21
+
22
+ ```bash
23
+ $ gem install proxy_manager
24
+ ```
25
+
26
+ ## Usage
27
+
28
+ ### Load proxy list
29
+
30
+ From array (IP:PORT)
31
+
32
+ ```ruby
33
+ proxy = ProxyManager.load(['1.2.3.4:567', '9.8.7.6:543'])
34
+ ```
35
+
36
+ or from file
37
+
38
+ ```ruby
39
+ proxy = ProxyManager.load('proxies.txt', 'bad_proxies.txt')
40
+ ```
41
+
42
+ Files `proxies.txt` and `bad_proxies.txt` should be writable.
43
+ Example of `proxies.txt` content:
44
+
45
+ ```
46
+ 1.2.3.4:567
47
+ 9.8.7.6:543
48
+ ...
49
+ ```
50
+
51
+ ### Get proxy
52
+
53
+ Get one proxy
54
+
55
+ ```ruby
56
+ proxy.get
57
+ # => ["1.2.3.4", 567]
58
+ ```
59
+
60
+ Get many proxies
61
+
62
+ ```ruby
63
+ proxy.get(2)
64
+ # => [["1.2.3.4", 567], ["9.8.7.6", 543]]
65
+ ```
66
+
67
+ Will be returning only pingable proxies
68
+
69
+ ### Proxies lists
70
+
71
+ You also can display list of loaded proxies
72
+
73
+ ```ruby
74
+ proxy.list
75
+ # => [["1.2.3.4", 567], ["9.8.7.6", 543]]
76
+ ```
77
+
78
+ and list of bad proxies
79
+
80
+ ```ruby
81
+ proxy.bad_list
82
+ # => []
83
+ ```
84
+
85
+ ## Documentation
86
+
87
+ http://rubydoc.info/gems/proxy_manager/frames
88
+
89
+ ## Contributing
90
+
91
+ 1. Fork it
92
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
93
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
94
+ 4. Push to the branch (`git push origin my-new-feature`)
95
+ 5. Create new Pull Request
data/lib/proxy_manager.rb CHANGED
@@ -2,10 +2,23 @@ require 'proxy_manager/main'
2
2
  require 'net/ping'
3
3
 
4
4
  module ProxyManager
5
+ # Define gem's root path
6
+ # @return [String] string path
5
7
  def self.root
6
8
  File.expand_path '../..', __FILE__
7
9
  end
8
10
 
11
+ # Create main object
12
+ # @param proxies [Array, String] array of proxies or file with proxies
13
+ # @param bad_proxies [String, nil] optional file for save bad proxies
14
+ # @example
15
+ # # from array
16
+ # proxy = ProxyManager.load(['1.2.3.4:567', '9.8.7.6:543'])
17
+ #
18
+ # # or from file
19
+ # proxy = ProxyManager.load('proxies.txt', 'bad_proxies.txt')
20
+ # @return [Class] Main object
21
+ # @see Main
9
22
  def self.load(proxies, bad_proxies = nil)
10
23
  Main.new(proxies, bad_proxies)
11
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: proxy_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kirill Platonov
@@ -14,98 +14,153 @@ dependencies:
14
14
  name: net-ping
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
- version: '0'
22
+ version: 1.7.2
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.7'
24
30
  - - ">="
25
31
  - !ruby/object:Gem::Version
26
- version: '0'
32
+ version: 1.7.2
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: turn
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.9'
31
40
  - - ">="
32
41
  - !ruby/object:Gem::Version
33
- version: '0'
42
+ version: 0.9.7
34
43
  type: :development
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.9'
38
50
  - - ">="
39
51
  - !ruby/object:Gem::Version
40
- version: '0'
52
+ version: 0.9.7
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: rspec
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '2.14'
45
60
  - - ">="
46
61
  - !ruby/object:Gem::Version
47
- version: '0'
62
+ version: 2.14.1
48
63
  type: :development
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '2.14'
52
70
  - - ">="
53
71
  - !ruby/object:Gem::Version
54
- version: '0'
72
+ version: 2.14.1
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: guard-rspec
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '4.2'
59
80
  - - ">="
60
81
  - !ruby/object:Gem::Version
61
- version: '0'
82
+ version: 4.2.8
62
83
  type: :development
63
84
  prerelease: false
64
85
  version_requirements: !ruby/object:Gem::Requirement
65
86
  requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '4.2'
66
90
  - - ">="
67
91
  - !ruby/object:Gem::Version
68
- version: '0'
92
+ version: 4.2.8
69
93
  - !ruby/object:Gem::Dependency
70
94
  name: growl
71
95
  requirement: !ruby/object:Gem::Requirement
72
96
  requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '1.0'
73
100
  - - ">="
74
101
  - !ruby/object:Gem::Version
75
- version: '0'
102
+ version: 1.0.3
76
103
  type: :development
77
104
  prerelease: false
78
105
  version_requirements: !ruby/object:Gem::Requirement
79
106
  requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
80
110
  - - ">="
81
111
  - !ruby/object:Gem::Version
82
- version: '0'
112
+ version: 1.0.3
83
113
  - !ruby/object:Gem::Dependency
84
114
  name: fuubar
85
115
  requirement: !ruby/object:Gem::Requirement
86
116
  requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '1.3'
87
120
  - - ">="
88
121
  - !ruby/object:Gem::Version
89
- version: '0'
122
+ version: 1.3.2
90
123
  type: :development
91
124
  prerelease: false
92
125
  version_requirements: !ruby/object:Gem::Requirement
93
126
  requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '1.3'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 1.3.2
133
+ - !ruby/object:Gem::Dependency
134
+ name: yard
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '0.8'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 0.8.7.4
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '0.8'
94
150
  - - ">="
95
151
  - !ruby/object:Gem::Version
96
- version: '0'
152
+ version: 0.8.7.4
97
153
  description: |2
98
- This gem is for easy usage proxy in your parsers/web-bots. It will manage your proxy
99
- list and check availability.
154
+ This gem is for easy usage proxy in your parsers/web-bots. It will manage
155
+ your proxy list and check availability.
100
156
  email:
101
157
  - platonov.kd@gmail.com
102
158
  executables: []
103
159
  extensions: []
104
160
  extra_rdoc_files: []
105
161
  files:
106
- - ".rspec"
107
162
  - MIT-LICENSE
108
- - README.rdoc
163
+ - README.md
109
164
  - Rakefile
110
165
  - lib/proxy_manager.rb
111
166
  - lib/proxy_manager/main.rb
@@ -115,7 +170,8 @@ files:
115
170
  - spec/support/bad_proxies.txt
116
171
  - spec/support/proxies.txt
117
172
  homepage: https://github.com/bloodyhistory/proxy_manager
118
- licenses: []
173
+ licenses:
174
+ - MIT
119
175
  metadata: {}
120
176
  post_install_message:
121
177
  rdoc_options: []
@@ -136,9 +192,10 @@ rubyforge_project:
136
192
  rubygems_version: 2.2.2
137
193
  signing_key:
138
194
  specification_version: 4
139
- summary: Ruby proxy manager. Gem for easy usage proxy in parser/web bots.
195
+ summary: Ruby proxy manager for easy usage proxy in parser/web bots.
140
196
  test_files:
141
197
  - spec/proxy_manager/proxy_manager_spec.rb
142
198
  - spec/spec_helper.rb
143
199
  - spec/support/bad_proxies.txt
144
200
  - spec/support/proxies.txt
201
+ has_rdoc:
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --drb
2
- --format Fuubar
3
- --color
data/README.rdoc DELETED
@@ -1,3 +0,0 @@
1
- = ProxyManager
2
-
3
- This project rocks and uses MIT-LICENSE.