Module: GitPair::Config

Extended by:
Config
Included in:
Config
Defined in:
lib/git-pair/config.rb

Instance Method Summary collapse

Instance Method Details

#add_author(author) ⇒ Object



9
10
11
12
13
# File 'lib/git-pair/config.rb', line 9

def add_author(author)
  unless Author.exists?(author)
    `git config --global --add git-pair.authors "#{author.name} <#{author.email}>"`
  end
end

#all_author_stringsObject



5
6
7
# File 'lib/git-pair/config.rb', line 5

def all_author_strings
  `git config --global --get-all git-pair.authors`.split("\n")
end

#current_authorObject



35
36
37
# File 'lib/git-pair/config.rb', line 35

def current_author
  `git config --get user.name`.strip
end

#current_emailObject



39
40
41
# File 'lib/git-pair/config.rb', line 39

def current_email
  `git config --get user.email`.strip
end

#default_emailObject



31
32
33
# File 'lib/git-pair/config.rb', line 31

def default_email
  `git config --global --get user.email`.strip
end

#remove_author(name) ⇒ Object



15
16
17
18
# File 'lib/git-pair/config.rb', line 15

def remove_author(name)
  `git config --global --unset-all git-pair.authors "^#{name} <"`
  `git config --global --remove-section git-pair` if all_author_strings.empty?
end

#resetObject



27
28
29
# File 'lib/git-pair/config.rb', line 27

def reset
  `git config --remove-section user`
end

#switch(authors) ⇒ Object



20
21
22
23
24
25
# File 'lib/git-pair/config.rb', line 20

def switch(authors)
  authors.sort!

  `git config user.name "#{authors.map { |a| a.name }.join(' + ')}"`
  `git config user.email "#{Author.email(authors)}"`
end