class Aid::Team

Attributes

members[R]

Public Class Methods

from_yml(path) click to toggle source
# File lib/aid/scripts/shared/team.rb, line 16
def self.from_yml(path)
  members = YAML.safe_load(File.read(path))["team"]

  Team.new(members)
end
new(members) click to toggle source
# File lib/aid/scripts/shared/team.rb, line 5
def initialize(members)
  @members =
    members.map do |member|
      Member.new(
        member["name"],
        member["github"],
        member["slack"]
      )
    end
end

Public Instance Methods

prompt_for_members() click to toggle source
# File lib/aid/scripts/shared/team.rb, line 22
def prompt_for_members
  puts "Enter their number(s) below. For multiple team members, enter "\
    "multiple numbers separated by spaces or commas."
  puts

  members.each.with_index do |member, index|
    puts "#{index + 1}. #{member.name} (@#{member.github_username})"
  end

  puts
  print "> "

  numbers = $stdin.gets.strip.split(/[^\d]+/)

  indexes =
    numbers
      .map { |num| num.to_i - 1 }
      .reject { |num| num < 0 }

  indexes.map { |index| members[index] }.compact
end