class Ryo::Plugin::Dir
Attributes
threads[R]
uri[R]
Public Class Methods
discover(uri)
click to toggle source
# File lib/ryo/plugin/dir.rb, line 35 def self.discover(uri) new(uri).discover end
new(uri)
click to toggle source
# File lib/ryo/plugin/dir.rb, line 9 def initialize(uri) @uri = uri.is_a?(URI::HTTP) ? uri : URI.parse(uri) @threads = 10 end
Public Instance Methods
discover()
click to toggle source
# File lib/ryo/plugin/dir.rb, line 22 def discover pool = Thread.pool(threads) results = [] paths.map { |path| url_for(path) }.each do |url| pool.process { res = Client.http.get(url) results << url if res.code == 200 } end pool.shutdown results end
paths()
click to toggle source
# File lib/ryo/plugin/dir.rb, line 14 def paths File.readlines(File.expand_path("./aux/paths.txt", __dir__)).map(&:chomp).compact end
url_for(path)
click to toggle source
# File lib/ryo/plugin/dir.rb, line 18 def url_for(path) "#{uri.scheme}://#{uri.host}:#{uri.port}/#{path}" end