Module: GitPair::Config

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

Constant Summary collapse

DEFAULT_PATTERN =
"devs+%abbr+%abbr@%domain"

Instance Method Summary collapse

Instance Method Details

#add_author(author) ⇒ Object



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

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

#all_author_stringsObject



7
8
9
# File 'lib/git-pair/config.rb', line 7

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

#current_authorObject



60
61
62
# File 'lib/git-pair/config.rb', line 60

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

#current_emailObject



64
65
66
# File 'lib/git-pair/config.rb', line 64

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

#default_domainObject



56
57
58
# File 'lib/git-pair/config.rb', line 56

def default_domain
  default_email.split('@').last
end

#default_emailObject



52
53
54
# File 'lib/git-pair/config.rb', line 52

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

#get_patternObject



19
20
21
# File 'lib/git-pair/config.rb', line 19

def get_pattern
  `git config --get git-pair.pattern`.strip
end

#patternObject



11
12
13
14
15
16
17
# File 'lib/git-pair/config.rb', line 11

def pattern
  if get_pattern.length > 0
    get_pattern
  else
    DEFAULT_PATTERN
  end
end

#remove_author(name) ⇒ Object



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

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

#remove_patternObject



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

def remove_pattern
  `git config --global --unset-all git-pair.pattern`
end

#resetObject



48
49
50
# File 'lib/git-pair/config.rb', line 48

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

#set_pattern(pattern) ⇒ Object



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

def set_pattern(pattern)
  `git config --global --replace-all git-pair.pattern "#{pattern}"`
end

#switch(authors) ⇒ Object



42
43
44
45
46
# File 'lib/git-pair/config.rb', line 42

def switch(authors)
  authors.sort!
  `git config user.name "#{authors.map { |a| a.name }.join(' + ')}"`
  `git config user.email "#{pair_email(authors)}"`
end