Class: Pairest

Inherits:
Object
  • Object
show all
Defined in:
lib/pairest.rb

Class Method Summary collapse

Class Method Details

.configs(initials) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# 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) ⇒ Object



50
51
52
# File 'lib/pairest.rb', line 50

def self.emails(initials)
  configs(initials).map(&:email).join(', ')
end

.key(initials) ⇒ Object



41
42
43
44
# File 'lib/pairest.rb', line 41

def self.key(initials)
  first_config = configs(initials).first
  first_config.key
end

.main(initials) ⇒ Object



7
8
9
10
11
12
13
# 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

.names(initials) ⇒ Object



46
47
48
# File 'lib/pairest.rb', line 46

def self.names(initials)
  configs(initials).map(&:name).join(', ')
end

.validate_input(initials) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# 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