class Giticious::Cli::Repo

Public Instance Methods

create(name) click to toggle source
# File lib/giticious/cli/repo.rb, line 6
def create(name)
  begin
    Giticious::Service::Repository.new.create(name)
    puts "The repository has been created"
    list()
  rescue => e
    $stderr.puts e.message
    exit 1
  end
end
delete(name) click to toggle source
# File lib/giticious/cli/repo.rb, line 31
def delete(name)
  begin
    Giticious::Service::Repository.new.delete(name)
  rescue => e
    $stderr.puts e.message
    exit 1
  end
end
import(url) click to toggle source
# File lib/giticious/cli/repo.rb, line 18
def import(url)
  begin
    puts "Importing #{url}..."
    Giticious::Service::Repository.new.import(url)
    puts "Repository imported"
    list()
  rescue => e
    $stderr.puts e.message
    exit 1
  end
end
list() click to toggle source
# File lib/giticious/cli/repo.rb, line 41
def list
  begin
    rows = []

    Giticious::Service::Repository.new.list.each do |repo|
      rows << [ repo.name, repo.path, "#{Etc.getlogin}@<your-server-url>:#{repo.name}.git" ]
    end

    table = Terminal::Table.new :headings => ["Name", "Path", "SSH URL"], :rows => rows
    puts table
  rescue => e
    $stderr.puts e.message
    exit 1
  end
end
permit(repo, username, permissions) click to toggle source
# File lib/giticious/cli/repo.rb, line 75
def permit(repo, username, permissions)
  begin
    if Giticious::Service::Repository.new.add_user(repo, username, permissions) == false
      $stderr.puts "Could not grant permissions to this user"
      exit 1
    end

    puts "Permission granted!"

    users(repo)
  rescue => e
    $stderr.puts e.message
    exit 1
  end
end
revoke(repo, username) click to toggle source
# File lib/giticious/cli/repo.rb, line 92
def revoke(repo, username)
  begin
    if Giticious::Service::Repository.new.delete_user(repo, username) == false
      $stderr.puts "Could not revoke permissions from this user"
      exit 1
    end

    puts "Permission revoked!"

    users(repo)
  rescue => e
    $stderr.puts e.message
    exit 1
  end
end
users(repo) click to toggle source
# File lib/giticious/cli/repo.rb, line 58
def users(repo)
  begin
    rows = []

    Giticious::Service::Repository.new.permissions(repo).each do |perm|
      rows << [ repo, perm.user.username, perm.perm_read, perm.perm_write ]
    end

    table = Terminal::Table.new :headings => ["Repository", "User", "Read", "Write"], :rows => rows
    puts table
  rescue => e
    $stderr.puts e.message
    exit 1
  end
end