class Gem::SourceList
SourceList
表示 rubygems 配置要使用的源。可以从源数组创建源
Gem::SourceList.from %w[https://rubygems.example https://internal.example]
或者通过添加它们
sources = Gem::SourceList.new sources << 'https://rubygems.example'
获取 SourceList
的最常见方法是 Gem.sources
。
属性
sources[R]
此列表中的源
公共类方法
from(ary) 点击以切换源代码
从源数组创建一个新的 SourceList
。
# File rubygems/source_list.rb, line 34 def self.from(ary) list = new list.replace ary list end
new() 点击以切换源代码
创建一个新的 SourceList
# File rubygems/source_list.rb, line 22 def initialize @sources = [] end
公共实例方法
<<(obj) 点击以切换源代码
将 obj
追加到源列表,它可以是 Gem::Source
、Gem::URI
或 URI 字符串。
# File rubygems/source_list.rb, line 50 def <<(obj) src = case obj when Gem::Source obj else Gem::Source.new(obj) end @sources << src unless @sources.include?(src) src end
clear() 点击以切换源代码
从 SourceList
中移除所有源。
# File rubygems/source_list.rb, line 79 def clear @sources.clear end
delete(source) 点击以切换源代码
从源列表中删除 source
,它可以是 Gem::Source
或 URI。
# File rubygems/source_list.rb, line 139 def delete(source) if source.is_a? Gem::Source @sources.delete source else @sources.delete_if {|x| x.uri.to_s == source.to_s } end end
each() { |uri.to_s| ... } 点击以切换源代码
产生列表中每个源 URI。
# File rubygems/source_list.rb, line 86 def each @sources.each {|s| yield s.uri.to_s } end
each_source(&b) 点击以切换源代码
产生列表中每个源。
# File rubygems/source_list.rb, line 93 def each_source(&b) @sources.each(&b) end
empty?() 点击以切换源代码
如果此 SourceList
中没有源,则返回 true。
# File rubygems/source_list.rb, line 100 def empty? @sources.empty? end
first() 点击以切换源代码
返回列表中的第一个源。
# File rubygems/source_list.rb, line 120 def first @sources.first end
include?(other) 点击以切换源代码
如果此源列表包含 other
,则返回 true,它可以是 Gem::Source
或源 URI。
# File rubygems/source_list.rb, line 128 def include?(other) if other.is_a? Gem::Source @sources.include? other else @sources.find {|x| x.uri.to_s == other.to_s } end end
replace(other) 点击以切换源代码
用 other
中的源替换此 SourceList
。有关 other
中可接受项,请参阅 <<
。
# File rubygems/source_list.rb, line 66 def replace(other) clear other.each do |x| self << x end self end
to_a() 点击以切换源代码
返回源 URI 字符串的数组。
# File rubygems/source_list.rb, line 111 def to_a @sources.map {|x| x.uri.to_s } end
也别名为:to_ary