Class: Generator

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

Defined Under Namespace

Classes: GroupsOfNStudents, NNumberOfGroups

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(students:, groups_of: nil, sort_type:, number_of_groups: nil) ⇒ Generator

Returns a new instance of Generator.



5
6
7
8
9
10
# File 'lib/learn_together/generator.rb', line 5

def initialize(students:, groups_of: nil, sort_type:, number_of_groups: nil)
  @students = students
  @groups_of = groups_of
  @number_of_groups = number_of_groups
  @sort_type = sort_type
end

Instance Attribute Details

#groups_ofObject

Returns the value of attribute groups_of.



3
4
5
# File 'lib/learn_together/generator.rb', line 3

def groups_of
  @groups_of
end

#number_of_groupsObject

Returns the value of attribute number_of_groups.



3
4
5
# File 'lib/learn_together/generator.rb', line 3

def number_of_groups
  @number_of_groups
end

#sort_typeObject

Returns the value of attribute sort_type.



3
4
5
# File 'lib/learn_together/generator.rb', line 3

def sort_type
  @sort_type
end

#studentsObject

Returns the value of attribute students.



3
4
5
# File 'lib/learn_together/generator.rb', line 3

def students
  @students
end

Instance Method Details

#groups_of_n_students?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/learn_together/generator.rb', line 20

def groups_of_n_students?
  !!groups_of
end

#make_groupsObject



12
13
14
15
16
17
18
# File 'lib/learn_together/generator.rb', line 12

def make_groups
  if groups_of_n_students?
    GroupsOfNStudents.new(students: students, groups_of: groups_of, sort_type: sort_type).make_groups
  elsif n_number_of_groups?
    NNumberOfGroups.new(students: students, number_of_groups: number_of_groups).make_groups
  end
end

#n_number_of_groups?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/learn_together/generator.rb', line 24

def n_number_of_groups?
  !!number_of_groups
end