<<(obj)
click to toggle source
def <<(obj)
src = case obj
when URI
Gem::Source.new(obj)
when Gem::Source
obj
else
Gem::Source.new(URI.parse(obj))
end
@sources << src
src
end
==(other)
click to toggle source
def ==(other)
to_a == other
end
delete(uri)
click to toggle source
def delete(uri)
if uri.kind_of? Gem::Source
@sources.delete uri
else
@sources.delete_if { |x| x.uri.to_s == uri.to_s }
end
end
each() { |uri.to_s| ... }
click to toggle source
def each
@sources.each { |s| yield s.uri.to_s }
end
each_source(&b)
click to toggle source
def each_source(&b)
@sources.each(&b)
end
first()
click to toggle source
def first
@sources.first
end
include?(other)
click to toggle source
def include?(other)
if other.kind_of? Gem::Source
@sources.include? other
else
@sources.find { |x| x.uri.to_s == other.to_s }
end
end
initialize_copy(other)
click to toggle source
def initialize_copy(other)
@sources = @sources.dup
end
replace(other)
click to toggle source
def replace(other)
@sources.clear
other.each do |x|
self << x
end
self
end
to_a()
click to toggle source
def to_a
@sources.map { |x| x.uri.to_s }
end