class Pairest

Public Class Methods

main(initials) click to toggle source
# File lib/pairest.rb, line 7
def self.main(initials)
  validate_input(initials)

  GitConfigurator.write_name_setting names(initials)
  GitConfigurator.write_email_settings emails(initials)
  SshConfigurator.link_current_key key(initials)
end

Private Class Methods

configs(initials) click to toggle source
# File lib/pairest.rb, line 29
def self.configs(initials)
  @configs ||= ConfigurationProvider.user_configurations

  initials.map do |initial|
    user_config = @configs.find { |config| config.initials == initial }
    unless user_config
      raise "Unknown initials: #{initial}. Add #{initial} to ~/.pairest.yml"
    end
    user_config
  end
end
emails(initials) click to toggle source
# File lib/pairest.rb, line 50
def self.emails(initials)
  configs(initials).map(&:email).join(', ')
end
key(initials) click to toggle source
# File lib/pairest.rb, line 41
def self.key(initials)
  first_config = configs(initials).first
  first_config.key
end
names(initials) click to toggle source
# File lib/pairest.rb, line 46
def self.names(initials)
  configs(initials).map(&:name).join(', ')
end
validate_input(initials) click to toggle source
# File lib/pairest.rb, line 17
def self.validate_input(initials)
  usage_message = "Usage: pairest [initials] [initials]\n" \
                  "Example: pairest hp ko\n" \
                  "         pairest hp\n" \
                  "         pairest hp ko bl\n"

  if initials.empty?
    puts usage_message
    raise SystemExit
  end
end