gem search
沒有參數返回RubyGems.org上所有gem的完整列表。由於對RubyGems的網址如下簡單的模式,你就可以開始玩弄寶石名稱以一個簡單的類是這樣的:
class GemRepo
attr_reader :names
def initialize
@names = []
load_names
end
def size
@names.size
end
def urls
@names.map { |name| "https://rubygems.org/gems/#{name}" }
end
private
def load_names
`gem search`.each_line do |line|
next if line.empty? || line.match(/\*/)
@names << line.split().first
end
end
end
gem_repo = GemRepo.new
gem_repo.size
# => 88679
gem_repo.names
# => ['-', '0mq', ..., 'Zzzzz', 'zzzzzz']
gem_repo.urls
# => ['https://rubygems.org/gems/-', 'https://rubygems.org/gems/0mq', ..., 'https://rubygems.org/gems/Zzzzz', 'https://rubygems.org/gems/zzzzzz']
嘗試沒有在查詢參數的值來搜索:'https://rubygems.org/api /v1/search.json?查詢='。請注意結果將分頁。 – mccannf 2014-10-11 10:26:49
@mccannf給定一個空查詢獲取所有寶石!有趣!剩下的唯一問題是** rubygems.org **中有超過80000個寶石,並且每個請求僅獲取30個寶石... T_T無論如何,這是一種可能的方式。 – 2014-10-11 14:01:05
是的,哪種類型的問題**爲什麼**你會想要檢索所有80,000,而不只是依靠搜索API來找到你想要的寶石。即使您設法檢索所有人,也會一直在升級或更改%! – mccannf 2014-10-11 15:18:39