muxer 0.0.3 → 0.0.4

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: 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