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