module PairUp
Constants
- VERSION
Public Class Methods
current_pair()
click to toggle source
# File lib/pair-up.rb, line 52 def self.current_pair config[:current_pair] ||= [] end
current_pair=(pairs)
click to toggle source
# File lib/pair-up.rb, line 62 def self.current_pair=(pairs) config[:current_pair] = [] pairs.each do |participant| if PairUp::Participant.find(participant) config[:current_pair] << participant else if PairUp::UI.prompt_for_pair(participant) config[:current_pair] << participant end end end write_file end
expire_command(time)
click to toggle source
# File lib/pair-up.rb, line 29 def self.expire_command(time) %Q(sleep #{to_seconds(time)} && #{PairUp.bin_path} --unpair&) end
export(pairs)
click to toggle source
# File lib/pair-up.rb, line 17 def self.export(pairs) PairUp.current_pair = pairs if PairUp.mac? `launchctl setenv GIT_AUTHOR_NAME '#{PairUp.git_author_name}' GIT_AUTHOR_EMAIL '#{PairUp.git_author_email}'` `launchctl setenv GIT_COMMITTER_NAME '#{PairUp.git_committer_name}' GIT_COMMITTER_EMAIL '#{PairUp.git_committer_email}'` end write_export_file print_info end
git_committer_email()
click to toggle source
# File lib/pair-up.rb, line 91 def self.git_committer_email dev = PairUp::Participant.find(current_pair[1]) dev["email"] end
git_committer_name()
click to toggle source
# File lib/pair-up.rb, line 86 def self.git_committer_name dev = PairUp::Participant.find(current_pair[1]) dev["name"] end
print_info()
click to toggle source
# File lib/pair-up.rb, line 11 def self.print_info if PairUp.pairing? && STDOUT.tty? PairUp::UI.highline.say("Author: #{PairUp.git_author_name} <#{PairUp.git_author_email}>, Committer: #{PairUp.git_committer_name} <#{PairUp.git_committer_email}>") end end
print_setup_path()
click to toggle source
# File lib/pair-up.rb, line 100 def self.print_setup_path puts setup_path end
setup()
click to toggle source
# File lib/pair-up.rb, line 104 def self.setup PairUp::UI.highline.say(File.read(setup_path)) end
setup_path()
click to toggle source
# File lib/pair-up.rb, line 96 def self.setup_path File.join(File.dirname(__FILE__), 'pair-up', 'pair-up.sh') end
switch()
click to toggle source
# File lib/pair-up.rb, line 56 def self.switch if not current_pair.empty? PairUp.export current_pair.reverse end end
unpair()
click to toggle source
# File lib/pair-up.rb, line 33 def self.unpair PairUp.current_pair = [] if PairUp.mac? `launchctl unsetenv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL` `launchctl unsetenv GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL` end write_export_file end
write_file()
click to toggle source
# File lib/pair-up.rb, line 108 def self.write_file File.open(self.PairUprc, File::CREAT|File::TRUNC|File::RDWR, 0644) do |out| YAML.dump(config, out) end end
Private Class Methods
PairUprc()
click to toggle source
# File lib/pair-up.rb, line 132 def self.PairUprc File.expand_path('~/.pair-uprc') end
bin_path()
click to toggle source
# File lib/pair-up.rb, line 140 def self.bin_path %x[which pair].chomp end
config()
click to toggle source
# File lib/pair-up.rb, line 120 def self.config @config ||= get_config end
get_config()
click to toggle source
# File lib/pair-up.rb, line 124 def self.get_config if File.exists?(self.PairUprc) yamlized = YAML::load_file(self.PairUprc) return yamlized if yamlized.kind_of?(Hash) end return {} end
mac?()
click to toggle source
# File lib/pair-up.rb, line 116 def self.mac? (/darwin/ =~ RUBY_PLATFORM) end
pairing?()
click to toggle source
# File lib/pair-up.rb, line 144 def self.pairing? current_pair.any? end
to_seconds(value)
click to toggle source
# File lib/pair-up.rb, line 148 def self.to_seconds(value) value = value.to_s.gsub(/[^\d]/, '').to_i unless value.zero? value * 60 * 60 else raise StandardError end end
write_export_file()
click to toggle source
# File lib/pair-up.rb, line 157 def self.write_export_file File.open(self.PairUp_export_authors, 'w'){|f| f.write(author_command) } end