class Capistrano::Harrow::Config::Git

Public Class Methods

new(config_file) click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 7
def initialize(config_file)
  @config_file = config_file
end

Public Instance Methods

disabled?() click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 11
def disabled?
  case get :'harrow.disabled'
  when 'true' then true
  when 'false' then false
  else
    false
  end
end
email() click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 56
def email
  get :'user.email'
end
installed?() click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 20
def installed?
  not session_uuid.to_s.empty?
end
organization_uuid() click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 36
def organization_uuid
  get :'harrow.organization.uuid'
end
organization_uuid=(value) click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 32
def organization_uuid=(value)
  set :'harrow.organization.uuid', value
end
project_uuid() click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 44
def project_uuid
  get :'harrow.organization.uuid'
end
project_uuid=(value) click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 40
def project_uuid=(value)
  set :'harrow.project.uuid', value
end
repository_url() click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 48
def repository_url
  get :'remote.origin.url'
end
session_uuid() click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 28
def session_uuid
  get :'harrow.session.uuid'
end
session_uuid=(value) click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 24
def session_uuid=(value)
  set :'harrow.session.uuid', value
end
username() click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 52
def username
  get :'user.name'
end

Private Instance Methods

get(key) click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 62
def get(key)
  begin
    value = %x`git config --file #{@config_file.shellescape} #{key.to_s.shellescape}`.chop
    if value.empty?
      value = %x`git config --file ~/.gitconfig #{key.to_s.shellescape}`.chop
    end

    value
  rescue Errno::ENOENT
    raise BackendError.new('git not installed')
  end
end
set(key, value) click to toggle source
# File lib/capistrano/harrow/config/git.rb, line 75
def set(key, value)
  return unless File.exists? @config_file

  begin
    %x`git config --file #{@config_file.shellescape} #{key.to_s.shellescape} #{value.to_s.shellescape}`
  rescue Errno::ENOENT
    raise BackendError.new('git not installed')
  end
end