Class: Topaz::Sources

Inherits:
Object
  • Object
show all
Defined in:
lib/topaz.rb

Class Method Summary collapse

Class Method Details

.add(url) ⇒ Object

Adds a source.



109
110
111
112
113
114
115
116
117
118
# File 'lib/topaz.rb', line 109

def add(url)
	out = `gem sources -a "#{url}"`
	if out =~ /(.+) is not a URI/
		raise 'URL provided is not valid'
	elsif out =~ /While executing gem \.\.\. \(Zlib::GzipFile::Error\)/
		raise 'Failed to access RubyGem repository'
	elsif out =~ /added to sources/
		return true
	end
end

.listObject Also known as: sources

Returns an array of sources.



121
122
123
124
125
# File 'lib/topaz.rb', line 121

def list
	sources = `gem sources -l`.scan(/^.+/)
	sources.delete('*** CURRENT SOURCES ***')
	return sources
end

.remove(url) ⇒ Object

Removes a source.



129
130
131
132
133
134
135
136
# File 'lib/topaz.rb', line 129

def remove(url)
	out = `gem sources -r "#{url}"`
	if out =~ /not present in cache/
		raise 'Provided source is not in the cache'
	elsif out =~ /removed from sources/
		return true
	end
end

.updateObject

Updates the source cache



139
140
141
# File 'lib/topaz.rb', line 139

def update
	`gem sources -u`
end