class SSC::Handler::Repository
Public Instance Methods
add(*repo_ids)
click to toggle source
# File lib/handlers/repository.rb, line 73 def add(*repo_ids) if options.remote? require_appliance do |appliance| response= appliance.add_repository(repo_ids) say "Added "+( response.collect{|repos| repos.name} ).join(", ") end else repo_file= RepositoryFile.new repo_ids.each {|id| repo_file.push('add', id)} repo_file.save say "Marked the following for addition #{repo_ids.join(", ")}" end end
import(url, name)
click to toggle source
# File lib/handlers/repository.rb, line 107 def import(url, name) if options.remote? repository= StudioApi::Repository.import(url, name) say "Added #{repository.name} at #{url}" else repo_file= RepositoryFile.new repo_file.push('import', {"name" => name, "url" => url}) repo_file.save say "Marked #{name} for import" end end
list()
click to toggle source
# File lib/handlers/repository.rb, line 53 def list repo_file= RepositoryFile.new list= if options.remote? || repo_file.empty_list? require_appliance do |appliance| appliance.repositories.collect do |repo| repo_file.push('list', { repo.id => { 'name' => repo.name, 'type' => repo.type, 'base_system' => repo.base_system}}) end repo_file.save end else repo_file['list'] end say list.to_yaml end
remove(*repo_ids)
click to toggle source
# File lib/handlers/repository.rb, line 90 def remove(*repo_ids) if options.remote? require_appliance do |appliance| response= appliance.remove_repository(repo_ids) say "Removed #{repo_ids.join(", ")}" end else repo_file= RepositoryFile.new repo_ids.each {|id| repo_file.push('remove', id)} repo_file.save say "Marked the following for removal #{repo_ids.join(", ")}" end end
search(search_string)
click to toggle source
# File lib/handlers/repository.rb, line 37 def search(search_string) params= {:filter => search_string} params= params.merge({:base_system => options.base_system}) if options.base_system repos= StudioApi::Repository.find(:all, :params => params) repos.collect do |repo| # for some reason some repos don't have a base_url if repo.respond_to?('base_url') say "#{repo.id}.) #{repo.name}: #{repo.base_url} #{[repo.matches.attributes["software_name"]].flatten.join(', ')}\n" end end end