class Avm::Git::Launcher::Remote
def add(url)
def add(url) git.execute!('remote', 'add', name, url) end
def exist?
def exist? git.execute!('remote').each_line.any? { |line| line.strip == name } end
def ls
def ls git.execute!(['ls-remote', name]).each_line.map do |line| x = line.strip.split(/\s+/) [x[1], x[0]] end.to_h end
def remove
def remove git.execute!('remote', 'rm', name) end
def url
def url git.execute!('remote', 'get-url', name).strip.if_present(nil) end
def url=(url)
def url=(url) if exist? && url.blank? remove elsif exist? && self.url != url url_set(url) elsif !exist? add(url) end end
def url_set(url)
def url_set(url) git.execute!('remote', 'set-url', name, url) end