muxer 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d719948cdb50146fa727e57fce8edd5fe2782369
4
- data.tar.gz: 08f76ec167b1d6865ff23184a0c147b8e0f989a6
3
+ metadata.gz: a316a714df40c8c84c63aebee40bb00ca0e80271
4
+ data.tar.gz: e0153cbbddd286cdb45755e8e77708a91b808123
5
5
  SHA512:
6
- metadata.gz: 4ee194b036ffa44f81dd862001ae9d4cc22b12e18c3f8560b8973aa03fbdaa09a45e284725de3ef3edaf877ec521d6bb4b89bd0b4c596cf9b587dcbe13c553de
7
- data.tar.gz: e81632546f0b0a47bb7cb539607060358f3d853886f9c4c03ac6ae9cf9e34b9ab14c14f274e7752b2a0bd2a4df5bd9d2829e34daf4f91e0428491bff7890f644
6
+ metadata.gz: 1f9934011fc0dd35002f7d5d8445c1ee631c52581e23009ab9909ec8528648e0058a91b7b7e5e66004de2ed377a8f91080f1fa51cea8fd70084246c270664822
7
+ data.tar.gz: 1bcf43298545f85324a0a704158575a6affc283808fa19b504db9724bee72b69fae1d7528d9247fc7f273735badc96eae34a475d04ff7c8b1e512dfb61311aa8
@@ -1,23 +1,52 @@
1
1
  module Muxer
2
2
  class Multiplexer
3
-
3
+ attr_reader :requests
4
4
  def initialize
5
5
  @requests = []
6
+ @timeout = nil
6
7
  end
7
8
 
8
- def add_url(url)
9
- @requests << Request.new do
10
- url = url
11
- end
9
+ def add_url(url, timeout = nil)
10
+ request = Request.new
11
+ request.url = url
12
+ request.timeout = timeout if timeout
13
+ requests << request
12
14
  end
13
15
 
14
16
  def execute
15
- responses = []
17
+ responses = {succeeded: [], failed: [], pending: []}
16
18
  looping = true
19
+ finish = Time.now + @timeout if @timeout
17
20
  EventMachine.run do
18
- EM.stop
19
- end
21
+ requests.each do |request|
22
+ responses[:pending] << request.process!
23
+ end
20
24
 
25
+ EM::PeriodicTimer.new(0.01) do
26
+ responses[:pending].each do |pending|
27
+ # binding.pry
28
+ if pending.completed?
29
+ responses[:pending].delete(pending)
30
+ if pending.error.nil?
31
+ responses[:succeeded] << pending
32
+ else
33
+ responses[:failed] << pending
34
+ end
35
+ end
36
+ end
37
+ if @timeout && Time.now >= finish
38
+ responses[:pending].each do |pending|
39
+ responses[:failed] << pending
40
+ end
41
+ responses[:pending] = []
42
+ EM.stop
43
+ end
44
+
45
+ if responses[:pending].empty?
46
+ EM.stop
47
+ end
48
+ end
49
+ end
21
50
  responses
22
51
  end
23
52
  end
data/lib/muxer/request.rb CHANGED
@@ -1,29 +1,40 @@
1
1
  module Muxer
2
2
  class Request
3
3
  attr_accessor :url, :timeout, :headers
4
- attr_reader :method
4
+ attr_reader :method, :completed, :error
5
5
 
6
+ alias_method :completed?, :completed
6
7
  def initialize
7
- @method = :GET
8
- @timeout = nil
8
+ @method = :get
9
+ @completed = false
10
+ @timeout = 10
9
11
  @headers = {}
12
+ @request = nil
13
+ @error = nil
10
14
  end
11
15
 
12
16
  def method=(method)
13
17
  method = method.downcase.to_sym
14
18
 
15
- @method = method.upcase if [:get, :post, :head, :options, :put, :delete].include? method
19
+ @method = method if [:get, :post, :head, :options, :put, :delete].include? method
16
20
  end
17
21
 
18
22
  def process!
19
- http = EventMachine::HttpRequest.new(url)
20
- http.public_send(method,
21
- head: headers,
23
+ http = EventMachine::HttpRequest.new(url,
22
24
  connect_timeout: timeout,
23
- inactivity_timeout: timeout
25
+ inactivity_timeout: timeout,
26
+ )
27
+ @request = http.public_send(method,
28
+ head: headers,
24
29
  )
25
30
 
26
-
31
+ @request.callback { @completed = true }
32
+ @request.errback { @completed = @error = true}
33
+ self
34
+ end
35
+
36
+ def response
37
+ @request.response
27
38
  end
28
39
  end
29
40
  end
data/lib/muxer/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Muxer
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
data/muxer.gemspec CHANGED
@@ -26,4 +26,6 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency "rspec", "~>3.2"
27
27
  spec.add_development_dependency "vcr", "~>2.9"
28
28
  spec.add_development_dependency "pry", "~>0.10"
29
+ spec.add_development_dependency "webmock", "~>1.20"
30
+ spec.add_development_dependency "codeclimate-test-reporter"
29
31
  end
@@ -0,0 +1,282 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.rubydoc.info/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Content-Type:
16
+ - text/html;charset=utf-8
17
+ Last-Modified:
18
+ - Tue, 07 Apr 2015 12:18:27 GMT
19
+ X-Xss-Protection:
20
+ - 1; mode=block
21
+ X-Content-Type-Options:
22
+ - nosniff
23
+ X-Frame-Options:
24
+ - SAMEORIGIN
25
+ Content-Length:
26
+ - '19885'
27
+ Accept-Ranges:
28
+ - bytes
29
+ Date:
30
+ - Tue, 07 Apr 2015 12:40:04 GMT
31
+ X-Varnish:
32
+ - 773431391 773417265
33
+ Age:
34
+ - '1297'
35
+ Via:
36
+ - 1.1 varnish
37
+ Connection:
38
+ - close
39
+ X-Cache-Status:
40
+ - HIT
41
+ body:
42
+ encoding: UTF-8
43
+ string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html>\n
44
+ \ <head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"
45
+ />\n <title>RubyDoc.info: Documenting RubyGems, Stdlib, and GitHub Projects</title>\n
46
+ \ <link rel=\"stylesheet\" href=\"/css/style.css\" type=\"text/css\" media=\"screen\"
47
+ charset=\"utf-8\" />\n <link rel=\"stylesheet\" href=\"/css/custom.css\"
48
+ type=\"text/css\" media=\"screen\" charset=\"utf-8\" />\n <link rel=\"stylesheet\"
49
+ href=\"/css/projects.css\" type=\"text/css\" media=\"screen\" charset=\"utf-8\"
50
+ />\n <script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/jquery.js\"></script>\n
51
+ \ <script type=\"text/javascript\" charset=\"utf-8\" src=\"/js/project_checkout.js\"></script>\n
52
+ \ <script type=\"text/javascript\">\n function searchClick() {\n searchPrompt
53
+ = $('#docSearch').val();\n\n $('#docSearch').focus(function() {\n if
54
+ ($(this).val().match(/^Search/)) {\n $(this).val('');\n }\n
55
+ \ });\n $('#docSearch').blur(function() {\n if ($(this).val()
56
+ == '') {\n $(this).val(searchPrompt);\n }\n });\n
57
+ \ }\n\n function aboutLink() {\n $('#about').click(function()
58
+ {\n if ($('#info').is(':hidden')) { $('#checkout').hide(); $('#tender_window').hide();
59
+ $('#info').fadeIn('fast'); }\n else $('#info').fadeOut('fast');\n
60
+ \ return false;\n });\n }\n\n function checkoutLink()
61
+ {\n $('#new_checkout').click(function() {\n if ($('#checkout').is(':hidden'))
62
+ { $('#info').hide(); $('#tender_window').hide(); $('#checkout').fadeIn('fast');
63
+ }\n else $('#checkout').fadeOut('fast');\n return false;\n
64
+ \ });\n }\n\n function helpLink() {\n $('#help').click(function()
65
+ {\n if ($('#tender_window').is(':visible')) {\n $('#tender_window').hide();\n
66
+ \ } else {\n $('#help_tender').click();\n $('#info').hide();\n
67
+ \ $('#checkout').hide();\n }\n });\n }\n\n
68
+ \ function reloadProject() {\n $('.libraries .project_reload').click(function()
69
+ {\n var proj = $(this).parent().find('a:first-child').text();\n $('#url').val(\"git://github.com/\"
70
+ + proj);\n $('#commit').val('');\n $('#checkout_form').submit();\n
71
+ \ $(this).find('img').attr('src', '/images/loading.gif');\n return
72
+ false;\n });\n }\n\n function saveIndex(url) {\n var
73
+ date = new Date();\n date.setDate(date.getDate() + (url == '' ? -999
74
+ : 99999));\n document.cookie = \"defaultIndex=\" + escape(url) + \";expires=\"
75
+ + date.toUTCString();\n }\n\n $(searchClick);\n $(aboutLink);\n
76
+ \ $(checkoutLink);\n $(helpLink);\n $(reloadProject);\n </script>\n
77
+ \ </head>\n <body>\n <img src=\"/images/logo.gif\" width=\"1\" height=\"1\"
78
+ style=\"display: none\" alt=\"Rubydoc.info\" />\n <a id=\"learn_yard\"
79
+ href=\"http://yardoc.org\" title=\"Learn More About YARD\"><img src=\"/images/learn.png\"
80
+ alt=\"Learn More About YARD\" /></a>\n <noscript>\n <style type=\"text/css\"
81
+ media=\"screen\">\n body { margin: 0; padding: 0;}\n #logo,
82
+ #content { padding: 0 20px; }\n #noscript { background: #111; color:
83
+ #fff; padding: 10px 20px; }\n #top_nav { top: 48px; }\n </style>\n
84
+ \ <div id=\"noscript\"><strong>It seems you've disabled Javascript.</strong>\n
85
+ \ That's okay, but you might run into some problems. We try to make
86
+ things work without script support\n as much as possible, but sometimes
87
+ it needs to be used. We apologize for any inconvenience and hope you understand.</div>\n
88
+ \ </noscript>\n <div id=\"logo\">\n <h1><a href=\"/\">RubyDoc.info</a>
89
+ <small>YARD Documentation Server</small></h1>\n </div>\n\n \n <p
90
+ id=\"notice\">\n <strong>We need your help!</strong>\n We just
91
+ rolled out our new frameless templates for library docs.\n If something
92
+ doesn't look right on your desktop or mobile device, please\n <a href=\"#\"
93
+ onclick=\"$('#help_tender').click(); return false;\">let us know</a>.\n </div>\n
94
+ \ \n\n <ul id=\"top_nav\">\n <li><a id=\"new_checkout\" href=\"#\">Add
95
+ Project</a></li>\n <li><a id=\"about\" href=\"#\">About</a></li>\n <li><a
96
+ id=\"help\" href=\"#\">Help</a></li>\n </ul>\n <a id=\"help_tender\"
97
+ href=\"#\" style=\"display:none;\"></a>\n <div class=\"clear\"></div>\n\n
98
+ \ <div id=\"info\">\n <p>\n <strong>RubyDoc.info</strong> is
99
+ your source for open source Ruby library documentation,\n generating
100
+ fresh docs for Gems and popular Git repositories.\n </p>\n <p>\n
101
+ \ This site uses <a href=\"http://yardoc.org\">YARD</a> to generate
102
+ docs on the fly.\n To make your docs look better, you can check out
103
+ some of YARD's\n <a href=\"/gems/yard/file/docs/WhatsNew.md\">killer
104
+ features</a>.\n </p>\n <p>\n <strong>We have DISQUS integration!</strong>
105
+ Click the <em>permalink</em>\n (<a href=\"/gems/yard/YARD/Templates/Engine.render\">like
106
+ this one</a>)\n on a method to see user comments on a method page.\n
107
+ \ </p>\n <p>\n Looking for a <a href=\"http://github.com\">GitHub</a>\n
108
+ \ <a href=\"http://help.github.com/post-receive-hooks/\">post-receive
109
+ hook</a>?\n Use <tt>http://www.rubydoc.info/checkout</tt>.\n </p>\n
110
+ \ <p>\n <small>\n RubyDoc.info was made possible by <strong>Loren
111
+ Segal</strong> and <strong>Nick Plante</strong>, with help from a <a href=\"http://groups.google.com/group/yardoc\">community</a>
112
+ of <a href=\"http://github.com/lsegal/rubydoc.info\">friendly contributors</a>.\n
113
+ \ </small>\n </p>\n </div>\n\n <script type=\"text/javascript\"
114
+ charset=\"utf-8\">\n $(function() {\n if (document.referrer) {\n var
115
+ refurl = document.referrer;\n var re = new RegExp(\"^\" + window.location.protocol
116
+ + \"//\" + window.location.host + \"/\");\n if (refurl.match(re)) {\n
117
+ \ saveIndex('');\n return;\n }\n }\n\n var list =
118
+ document.cookie.split(/\\s*;\\s*/);\n for (var i = 0; i < list.length;
119
+ i++) {\n var key = list[i].split('=', 1)[0];\n if (key == 'defaultIndex')
120
+ {\n var name = list[i].substr(key.length + 1);\n window.location
121
+ = '/' + name;\n saveIndex('');\n return;\n }\n }\n });\n</script>\n\n<div
122
+ id=\"content\">\n <nav>\n <ul id=\"navigation\">\n <li><a href=\"/featured\">Featured</a></li>\n
123
+ \ <li><a href=\"/stdlib\">Stdlib</a></li>\n <li><a href=\"/gems\">RubyGems</a></li>\n
124
+ \ <li class=\"selected\">GitHub</li>\n <li class=\"search\"><form action=\"/find/github\"
125
+ method=\"GET\"><input type=\"text\" id=\"docSearch\" name=\"q\" value=\"Search
126
+ GitHub Projects\"/></form></li>\n </ul>\n </nav>\n\n \n <h2>Featured Libraries</h2>\n
127
+ \ <ul class=\"libraries\">\n \n <li class=\"r1\">\n \n \n
128
+ \ <a href=\"/gems/yard/0.8.7.6\">yard</a>\n \n <small>(0.8.7.6,\n
129
+ \ <a href=\"/gems/yard/0.8.7.5\">0.8.7.5</a>, <a href=\"/gems/yard/0.8.7.4\">0.8.7.4</a>,
130
+ <a href=\"/gems/yard/0.8.7.3\">0.8.7.3</a>, <a href=\"/gems/yard/0.8.7.2\">0.8.7.2</a>)</small>\n
131
+ \ \n </li>\n \n <li class=\"r2\">\n \n \n <a href=\"/docs/rails/4.1.7\">rails</a>\n
132
+ \ \n <small>(4.1.7,\n <a href=\"/docs/rails/4.0.0\">4.0.0</a>,
133
+ <a href=\"/docs/rails/3.2.8\">3.2.8</a>, <a href=\"/docs/rails/3.1.1\">3.1.1</a>,
134
+ <a href=\"/docs/rails/3.0.0\">3.0.0</a>)</small>\n \n </li>\n \n
135
+ \ </ul>\n \n\n <h2>Recently Updated GitHub Projects</h2>\n <ul class=\"alpha_index\">\n
136
+ \ \n <li><a href=\"/github/~a\">A</a></li>\n \n <li><a href=\"/github/~b\">B</a></li>\n
137
+ \ \n <li><a href=\"/github/~c\">C</a></li>\n \n <li><a href=\"/github/~d\">D</a></li>\n
138
+ \ \n <li><a href=\"/github/~e\">E</a></li>\n \n <li><a href=\"/github/~f\">F</a></li>\n
139
+ \ \n <li><a href=\"/github/~g\">G</a></li>\n \n <li><a href=\"/github/~h\">H</a></li>\n
140
+ \ \n <li><a href=\"/github/~i\">I</a></li>\n \n <li><a href=\"/github/~j\">J</a></li>\n
141
+ \ \n <li><a href=\"/github/~k\">K</a></li>\n \n <li><a href=\"/github/~l\">L</a></li>\n
142
+ \ \n <li><a href=\"/github/~m\">M</a></li>\n \n <li><a href=\"/github/~n\">N</a></li>\n
143
+ \ \n <li><a href=\"/github/~o\">O</a></li>\n \n <li><a href=\"/github/~p\">P</a></li>\n
144
+ \ \n <li><a href=\"/github/~q\">Q</a></li>\n \n <li><a href=\"/github/~r\">R</a></li>\n
145
+ \ \n <li><a href=\"/github/~s\">S</a></li>\n \n <li><a href=\"/github/~t\">T</a></li>\n
146
+ \ \n <li><a href=\"/github/~u\">U</a></li>\n \n <li><a href=\"/github/~v\">V</a></li>\n
147
+ \ \n <li><a href=\"/github/~w\">W</a></li>\n \n <li><a href=\"/github/~x\">X</a></li>\n
148
+ \ \n <li><a href=\"/github/~y\">Y</a></li>\n \n <li><a href=\"/github/~z\">Z</a></li>\n
149
+ \ \n <li class=\"selected\">Latest</li>\n </ul>\n\n <style type=\"text/css\"
150
+ media=\"screen\">\n #top_nav #new_checkout { display: block; }\n</style>\n<div
151
+ id=\"checkout\">\n <h2>Add your own project</h2>\n <small class=\"example\">(eg.
152
+ git://github.com/lsegal/yard.git)</small>\n <form id=\"checkout_form\" action=\"/checkout\"
153
+ method=\"post\">\n <input class=\"url\" type=\"text\" id=\"url\" name=\"url\"
154
+ placeholder=\"git://github.com/username/project\" />\n <div class=\"loadicon\"></div>\n
155
+ \ <input type=\"hidden\" id=\"scheme\" name=\"scheme\" value=\"git\" />\n
156
+ \ <br/>\n <small>Commit (optional): <input type=\"text\" id=\"commit\"
157
+ name=\"commit\" value=\"\" /></small>\n <input type=\"submit\" id=\"submit\"
158
+ value=\"Go\" />\n </form>\n <script type=\"text/javascript\" charset=\"utf-8\">\n
159
+ \ if (jQuery.browser.safari) $('#checkout_form #commit').css('width', '122px');\n
160
+ \ </script>\n</div>\n\n <ul class=\"libraries\">\n \n \n \n <li>\n
161
+ \ <a href=\"/github/pwnall/webkit_remote/master\"><strong>pwnall/webkit_remote</strong></a>\n
162
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
163
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/pwnall/webkit_remote\"
164
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
165
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
166
+ \ <a href=\"/github/fazibear/gruby/master\"><strong>fazibear/gruby</strong></a>\n
167
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
168
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/fazibear/gruby\"
169
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
170
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
171
+ \ <a href=\"/github/ReactiveX/Rx.rb/master\"><strong>ReactiveX/Rx.rb</strong></a>\n
172
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
173
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/ReactiveX/Rx.rb\"
174
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
175
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
176
+ \ <a href=\"/github/metaskills/pdf-writer/master\"><strong>metaskills/pdf-writer</strong></a>\n
177
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
178
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/metaskills/pdf-writer\"
179
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
180
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
181
+ \ <a href=\"/github/robotarmy/acts_as_status_for/master\"><strong>robotarmy/acts_as_status_for</strong></a>\n
182
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
183
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/robotarmy/acts_as_status_for\"
184
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
185
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
186
+ \ <a href=\"/github/dlt/yahoo_weatherman/master\"><strong>dlt/yahoo_weatherman</strong></a>\n
187
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
188
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/dlt/yahoo_weatherman\"
189
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
190
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
191
+ \ <a href=\"/github/brickrb/brick/master\"><strong>brickrb/brick</strong></a>\n
192
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
193
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/brickrb/brick\"
194
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
195
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
196
+ \ <a href=\"/github/step1profit/inde_struct/master\"><strong>step1profit/inde_struct</strong></a>\n
197
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
198
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/step1profit/inde_struct\"
199
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
200
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
201
+ \ <a href=\"/github/fornellas/command_utils/master\"><strong>fornellas/command_utils</strong></a>\n
202
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
203
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/fornellas/command_utils\"
204
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
205
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
206
+ \ <a href=\"/github/buren/site_mapper/master\"><strong>buren/site_mapper</strong></a>\n
207
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
208
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/buren/site_mapper\"
209
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
210
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
211
+ \ <a href=\"/github/buren/wayback_archiver/master\"><strong>buren/wayback_archiver</strong></a>\n
212
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
213
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/buren/wayback_archiver\"
214
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
215
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
216
+ \ <a href=\"/github/jphastings/sinatra-swagger/master\"><strong>jphastings/sinatra-swagger</strong></a>\n
217
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
218
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/jphastings/sinatra-swagger\"
219
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
220
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
221
+ \ <a href=\"/github/jch/html-pipeline/master\"><strong>jch/html-pipeline</strong></a>\n
222
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
223
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/jch/html-pipeline\"
224
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
225
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
226
+ \ <a href=\"/github/fractalsoft/diacritics/master\"><strong>fractalsoft/diacritics</strong></a>\n
227
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
228
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/fractalsoft/diacritics\"
229
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
230
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
231
+ \ <a href=\"/github/guard/guard-compass/master\"><strong>guard/guard-compass</strong></a>\n
232
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
233
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/guard/guard-compass\"
234
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
235
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
236
+ \ <a href=\"/github/locomotivecms/engine/master\"><strong>locomotivecms/engine</strong></a>\n
237
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
238
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/locomotivecms/engine\"
239
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
240
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
241
+ \ <a href=\"/github/troessner/transitions/master\"><strong>troessner/transitions</strong></a>\n
242
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
243
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/troessner/transitions\"
244
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
245
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
246
+ \ <a href=\"/github/kenjij/subaru/master\"><strong>kenjij/subaru</strong></a>\n
247
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
248
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/kenjij/subaru\"
249
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
250
+ /></a>\n <small>(master)</small>\n </li>\n \n \n <li>\n
251
+ \ <a href=\"/github/danielpclark/PolyBelongsTo/730c15\"><strong>danielpclark/PolyBelongsTo</strong></a>\n
252
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
253
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/danielpclark/PolyBelongsTo\"
254
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
255
+ /></a>\n <small>(730c15)</small>\n </li>\n \n \n <li>\n
256
+ \ <a href=\"/github/mvz/ruby-gir-ffi/master\"><strong>mvz/ruby-gir-ffi</strong></a>\n
257
+ \ <a href=\"#\" class=\"project_reload\" title=\"Reload this project\"><img
258
+ class=\"icon reload\" src=\"/images/reload.png\" /></a>\n <a href=\"http://github.com/mvz/ruby-gir-ffi\"
259
+ title=\"View this project on GitHub\"><img class=\"icon github\" src=\"/images/git.png\"
260
+ /></a>\n <small>(master)</small>\n </li>\n \n </ul>\n\n</div>\n\n\n\n
261
+ \ <div id=\"footer\">\n <a href=\"http://github.com/lsegal/rubydoc.info\">RubyDoc.info</a>
262
+ is powered by <a href=\"http://yardoc.org/\">yard</a> 0.8.7.6 (ruby-2.1.4)\n
263
+ \ \n <div class=\"sponsor\">\n <p>Sponsored by</p>\n \n
264
+ \ <a href=\"http://linode.com\"><img src=\"/images/sponsor/linode.com.png\"
265
+ alt=\"Sponsored by linode.com\"/></a>\n \n <a href=\"http://dockyard.com\"><img
266
+ src=\"/images/sponsor/dockyard.com.png\" alt=\"Sponsored by dockyard.com\"/></a>\n
267
+ \ \n </div>\n \n </div>\n \n <script type=\"text/javascript\"
268
+ charset=\"utf-8\">\n Tender = {\n hideToggle: true,\n widgetToggles:
269
+ [document.getElementById('help_tender')]\n }\n </script>\n <script
270
+ src=\"https://rubydoc.tenderapp.com/tender_widget.js\" type=\"text/javascript\"></script>\n
271
+ \ \n </body>\n\n \n <script src=\"http://static.getclicky.com/js\"
272
+ type=\"text/javascript\"></script>\n <script type=\"text/javascript\">clicky.init(246206);</script>\n
273
+ \ <noscript><p><img alt=\"Clicky\" width=\"1\" height=\"1\" src=\"http://static.getclicky.com/246206ns.gif\"
274
+ /></p></noscript>\n \n\n \n <script>\n (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n
275
+ \ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n
276
+ \ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n
277
+ \ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n
278
+ \ ga('create', 'UA-7172246-5', 'auto');\n ga('send', 'pageview');\n </script>\n
279
+ \ \n</html>\n"
280
+ http_version:
281
+ recorded_at: Tue, 07 Apr 2015 12:40:05 GMT
282
+ recorded_with: VCR 2.9.3