Method: LibGems::SpecFetcher#list
- Defined in:
- lib/libgems/spec_fetcher.rb
#list(all = false, prerelease = false) ⇒ Object
Returns a list of gems available for each source in LibGems::sources. If all is true, all released versions are returned instead of only latest versions. If prerelease is true, include prerelease versions.
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 |
# File 'lib/libgems/spec_fetcher.rb', line 233 def list(all = false, prerelease = false) # TODO: make type the only argument type = if all :all elsif prerelease :prerelease else :latest end list = {} file = FILES[type] cache = @caches[type] LibGems.sources.each do |source_uri| source_uri = URI.parse source_uri unless cache.include? source_uri cache[source_uri] = load_specs source_uri, file end list[source_uri] = cache[source_uri] end if type == :all list.values.map do |gems| gems.reject! { |g| !g[1] || g[1].prerelease? } end end list end |