learn_party 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +63 -64
- data/learn_party.gemspec +1 -1
- data/lib/learn_party/generator.rb +0 -1
- data/lib/learn_party/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17e48256f6ba2aedec9a22a3463e9e1ac87c9d8e
|
4
|
+
data.tar.gz: f718014e883777ef37e7f1c0f2d5419d82a38374
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5cac7194ea95e24982f67316d59f6f20ea5ac59338640690e7fd65a911596716152c96cec6b2a53b78446bc955bf64e53bc7881009f963ca8c2cac5c52b6cf50
|
7
|
+
data.tar.gz: 3481f31acdebaf6ef114e0234a4ebcf2bbb0cb78596f74298f535f21facf76c3a634aa1957319af6da801891349bbeb4f2894a79f19b2e10c4c4559a7e69ac5c
|
data/README.md
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
#
|
1
|
+
# LearnParty
|
2
2
|
|
3
|
-
This gem is meant to be used to group Learn student batches into groups for tables, labs and projects.
|
3
|
+
This gem is meant to be used to group Learn student batches into groups for tables, labs and projects.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
7
|
Add this line to your application's Gemfile:
|
8
8
|
|
9
9
|
```ruby
|
10
|
-
gem '
|
10
|
+
gem 'learn_party'
|
11
11
|
```
|
12
12
|
|
13
13
|
And then execute:
|
@@ -16,21 +16,21 @@ And then execute:
|
|
16
16
|
|
17
17
|
Or install it yourself as:
|
18
18
|
|
19
|
-
$ gem install
|
19
|
+
$ gem install learn_party
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
The Learn
|
23
|
+
The Learn Party gem is meant to be used from within another project, like a Rails app. The gem can take in any collection of student-like objects, along with a few specifications, and generate groups of students accordingly.
|
24
24
|
|
25
25
|
#### What's a 'student-like object?'
|
26
26
|
|
27
|
-
The Learn
|
27
|
+
The Learn Party gem can take in a collection of objects that respond to a `#completed_lesson_count_for_active_track` method *or* a collection of hashes, each of which has a key of `:completed_lesson_count_for_active_track`.
|
28
28
|
|
29
|
-
This is because the gem can generate groups based on similar progress. The gem uses the total number of completed lessons for a given student's active track as a metric with which to measure progress and thereby sort students.
|
29
|
+
This is because the gem can generate groups based on similar progress. The gem uses the total number of completed lessons for a given student's active track as a metric with which to measure progress and thereby sort students.
|
30
30
|
|
31
31
|
#### These student-like objects sound great! Where can I get some?
|
32
32
|
|
33
|
-
You can hit this Learn API endpoint for your batch to retrieve a JSON payload describing Learn students.
|
33
|
+
You can hit this Learn API endpoint for your batch to retrieve a JSON payload describing Learn students.
|
34
34
|
|
35
35
|
```bash
|
36
36
|
GET http://leanr.co.api/batches/:batch_id/users
|
@@ -42,12 +42,12 @@ The payload for each student will include an attribute, `"completed_lesson_count
|
|
42
42
|
|
43
43
|
#### Using the Gem
|
44
44
|
|
45
|
-
Once you have your student collection, you can call the gem with a number of different arguments.
|
45
|
+
Once you have your student collection, you can call the gem with a number of different arguments.
|
46
46
|
|
47
47
|
**Student groups with n number of students, based on progress**
|
48
48
|
|
49
49
|
```ruby
|
50
|
-
|
50
|
+
LearnParty::GroupMaker.new.run(collection: <collection of student-like objects>, groups_of: some_number, sort_type: "progress")
|
51
51
|
```
|
52
52
|
|
53
53
|
For example:
|
@@ -55,7 +55,7 @@ For example:
|
|
55
55
|
```ruby
|
56
56
|
students = Student.all # assuming you have a database full of students with the necessary .completed_lesson_for_active_track attribute
|
57
57
|
|
58
|
-
|
58
|
+
LearnParty::GroupMaker.new.run(collection: students, groups_of: 2, sort_type: "progress")
|
59
59
|
```
|
60
60
|
|
61
61
|
returns:
|
@@ -72,7 +72,7 @@ returns:
|
|
72
72
|
@github_username="rowena-larson",
|
73
73
|
@last_name=nil>],
|
74
74
|
[#<Student:0x007fc0a1344608
|
75
|
-
@completed_lesson_count_for_active_track=2,
|
75
|
+
@completed_lesson_count_for_active_track=2,
|
76
76
|
@first_name=nil, @github_username="nakia", @last_name=nil>,
|
77
77
|
#<Student:0x007fc0a1344798
|
78
78
|
@completed_lesson_count_for_active_track=3,
|
@@ -84,37 +84,37 @@ returns:
|
|
84
84
|
@first_name=nil,
|
85
85
|
@github_username="francesca-bashirian",
|
86
86
|
@last_name=nil>,
|
87
|
-
#<Student:0x007fc0a13448b0
|
87
|
+
#<Student:0x007fc0a13448b0
|
88
88
|
@completed_lesson_count_for_active_track=3,
|
89
|
-
@first_name=nil,
|
89
|
+
@first_name=nil,
|
90
90
|
@github_username="meaghan", @last_name=nil>],
|
91
|
-
[#<Student:0x007fc0a1344c20
|
92
|
-
@completed_lesson_count_for_active_track=4,
|
93
|
-
@first_name=nil, @github_username="keeley",
|
91
|
+
[#<Student:0x007fc0a1344c20
|
92
|
+
@completed_lesson_count_for_active_track=4,
|
93
|
+
@first_name=nil, @github_username="keeley",
|
94
94
|
@last_name=nil>,
|
95
|
-
#<Student:0x007fc0a1344478
|
96
|
-
@completed_lesson_count_for_active_track=4,
|
97
|
-
@first_name=nil,
|
95
|
+
#<Student:0x007fc0a1344478
|
96
|
+
@completed_lesson_count_for_active_track=4,
|
97
|
+
@first_name=nil,
|
98
98
|
@github_username="german", @last_name=nil>],
|
99
99
|
[#<Student:0x007fc0a13447e8
|
100
100
|
@completed_lesson_count_for_active_track=4,
|
101
101
|
@first_name=nil,
|
102
102
|
@github_username="eleazar-beatty",
|
103
103
|
@last_name=nil>,
|
104
|
-
#<Student:0x007fc0a1344950
|
105
|
-
@completed_lesson_count_for_active_track=4,
|
104
|
+
#<Student:0x007fc0a1344950
|
105
|
+
@completed_lesson_count_for_active_track=4,
|
106
106
|
@first_name=nil, @github_username="ivy", @last_name=nil>],
|
107
|
-
[#<Student:0x007fc0a13449f0
|
108
|
-
@completed_lesson_count_for_active_track=4,
|
109
|
-
@first_name=nil, @github_username="ernestina",
|
107
|
+
[#<Student:0x007fc0a13449f0
|
108
|
+
@completed_lesson_count_for_active_track=4,
|
109
|
+
@first_name=nil, @github_username="ernestina",
|
110
110
|
@last_name=nil>,
|
111
|
-
#<Student:0x007fc0a1344bf8
|
112
|
-
@completed_lesson_count_for_active_track=5,
|
113
|
-
@first_name=nil, @github_username="erling",
|
111
|
+
#<Student:0x007fc0a1344bf8
|
112
|
+
@completed_lesson_count_for_active_track=5,
|
113
|
+
@first_name=nil, @github_username="erling",
|
114
114
|
@last_name=nil>],
|
115
|
-
[#<Student:0x007fc0a1344a40
|
116
|
-
@completed_lesson_count_for_active_track=5,
|
117
|
-
@first_name=nil, @github_username="heloise-toy",
|
115
|
+
[#<Student:0x007fc0a1344a40
|
116
|
+
@completed_lesson_count_for_active_track=5,
|
117
|
+
@first_name=nil, @github_username="heloise-toy",
|
118
118
|
@last_name=nil>,
|
119
119
|
#<Student:0x007fc0a13449a0
|
120
120
|
@completed_lesson_count_for_active_track=5,
|
@@ -131,9 +131,9 @@ returns:
|
|
131
131
|
@first_name=nil,
|
132
132
|
@github_username="trevor-mcclure",
|
133
133
|
@last_name=nil>],
|
134
|
-
[#<Student:0x007fc0a1344748
|
135
|
-
@completed_lesson_count_for_active_track=7,
|
136
|
-
@first_name=nil, @github_username="maxie-price",
|
134
|
+
[#<Student:0x007fc0a1344748
|
135
|
+
@completed_lesson_count_for_active_track=7,
|
136
|
+
@first_name=nil, @github_username="maxie-price",
|
137
137
|
@last_name=nil>,
|
138
138
|
#<Student:0x007fc0a1344b30
|
139
139
|
@completed_lesson_count_for_active_track=7,
|
@@ -145,45 +145,45 @@ returns:
|
|
145
145
|
@first_name=nil,
|
146
146
|
@github_username="jailyn-okeefe",
|
147
147
|
@last_name=nil>,
|
148
|
-
#<Student:0x007fc0a1344978
|
149
|
-
@completed_lesson_count_for_active_track=7,
|
150
|
-
@first_name=nil, @github_username="yvonne",
|
148
|
+
#<Student:0x007fc0a1344978
|
149
|
+
@completed_lesson_count_for_active_track=7,
|
150
|
+
@first_name=nil, @github_username="yvonne",
|
151
151
|
@last_name=nil>],
|
152
|
-
[#<Student:0x007fc0a1344888
|
153
|
-
@completed_lesson_count_for_active_track=7,
|
152
|
+
[#<Student:0x007fc0a1344888
|
153
|
+
@completed_lesson_count_for_active_track=7,
|
154
154
|
@first_name=nil, @github_username="bobby",
|
155
155
|
@last_name=nil>,
|
156
|
-
#<Student:0x007fc0a13444f0
|
157
|
-
@completed_lesson_count_for_active_track=7,
|
158
|
-
@first_name=nil, @github_username="jerrold",
|
156
|
+
#<Student:0x007fc0a13444f0
|
157
|
+
@completed_lesson_count_for_active_track=7,
|
158
|
+
@first_name=nil, @github_username="jerrold",
|
159
159
|
@last_name=nil>],
|
160
|
-
[#<Student:0x007fc0a1344590
|
161
|
-
@completed_lesson_count_for_active_track=7,
|
162
|
-
@first_name=nil, @github_username="vivianne",
|
160
|
+
[#<Student:0x007fc0a1344590
|
161
|
+
@completed_lesson_count_for_active_track=7,
|
162
|
+
@first_name=nil, @github_username="vivianne",
|
163
163
|
@last_name=nil>,
|
164
164
|
#<Student:0x007fc0a1344428
|
165
165
|
@completed_lesson_count_for_active_track=8,
|
166
166
|
@first_name=nil,
|
167
167
|
@github_username="jaden-wintheiser",
|
168
168
|
@last_name=nil>],
|
169
|
-
[#<Student:0x007fc0a1344b80
|
170
|
-
@completed_lesson_count_for_active_track=8,
|
169
|
+
[#<Student:0x007fc0a1344b80
|
170
|
+
@completed_lesson_count_for_active_track=8,
|
171
171
|
@first_name=nil, @github_username="obie", @last_name=nil>,
|
172
|
-
#<Student:0x007fc0a1344860
|
173
|
-
@completed_lesson_count_for_active_track=8,
|
174
|
-
@first_name=nil, @github_username="sydnie",
|
172
|
+
#<Student:0x007fc0a1344860
|
173
|
+
@completed_lesson_count_for_active_track=8,
|
174
|
+
@first_name=nil, @github_username="sydnie",
|
175
175
|
@last_name=nil>],
|
176
176
|
[#<Student:0x007fc0a1344770
|
177
177
|
@completed_lesson_count_for_active_track=8,
|
178
178
|
@first_name=nil,
|
179
179
|
@github_username="evelyn-corkery",
|
180
180
|
@last_name=nil>,
|
181
|
-
#<Student:0x007fc0a1344518
|
182
|
-
@completed_lesson_count_for_active_track=8,
|
183
|
-
@first_name=nil, @github_username="ashley",
|
181
|
+
#<Student:0x007fc0a1344518
|
182
|
+
@completed_lesson_count_for_active_track=8,
|
183
|
+
@first_name=nil, @github_username="ashley",
|
184
184
|
@last_name=nil>],
|
185
|
-
[#<Student:0x007fc0a1344900
|
186
|
-
@completed_lesson_count_for_active_track=9,
|
185
|
+
[#<Student:0x007fc0a1344900
|
186
|
+
@completed_lesson_count_for_active_track=9,
|
187
187
|
@first_name=nil, @github_username="carey", @last_name=nil>,
|
188
188
|
#<Student:0x007fc0a1344838
|
189
189
|
@completed_lesson_count_for_active_track=9,
|
@@ -210,19 +210,19 @@ returns:
|
|
210
210
|
@first_name=nil,
|
211
211
|
@github_username="valentin-langworth",
|
212
212
|
@last_name=nil>,
|
213
|
-
#<Student:0x007fc0a13445b8
|
214
|
-
@completed_lesson_count_for_active_track=10,
|
215
|
-
@first_name=nil, @github_username="andreanne",
|
213
|
+
#<Student:0x007fc0a13445b8
|
214
|
+
@completed_lesson_count_for_active_track=10,
|
215
|
+
@first_name=nil, @github_username="andreanne",
|
216
216
|
@last_name=nil>]
|
217
217
|
]
|
218
218
|
```
|
219
219
|
|
220
|
-
We can see that the return of the `#run` method is an array of arrays, in which each child array represents one group of students and contains the list of the students in that group. In this case, we assume the original student collection contained 35 students. So, `#run` returned an array of 17 arrays, each of which contains two students, except for the last one, which contains 3 students.
|
220
|
+
We can see that the return of the `#run` method is an array of arrays, in which each child array represents one group of students and contains the list of the students in that group. In this case, we assume the original student collection contained 35 students. So, `#run` returned an array of 17 arrays, each of which contains two students, except for the last one, which contains 3 students.
|
221
221
|
|
222
222
|
**Student groups with n number of students, sorted randomly**
|
223
223
|
|
224
224
|
```ruby
|
225
|
-
|
225
|
+
LearnParty::GroupMaker.new.run(collection: <collection of student-like objects>, groups_of: some_number, sort_type: "random")
|
226
226
|
```
|
227
227
|
|
228
228
|
For example:
|
@@ -230,16 +230,16 @@ For example:
|
|
230
230
|
```ruby
|
231
231
|
students = Student.all # assuming you have a database full of students with the necessary .completed_lesson_for_active_track attribute
|
232
232
|
|
233
|
-
|
233
|
+
LearnParty::GroupMaker.new.run(collection: students, groups_of: 3, sort_type: "random")
|
234
234
|
```
|
235
235
|
|
236
236
|
**Students into n number of groups**
|
237
237
|
|
238
238
|
```ruby
|
239
|
-
|
239
|
+
LearnParty::GroupMaker.new.run(collection: <collection of student-like objects>, number_of_groups: 3)
|
240
240
|
```
|
241
241
|
|
242
|
-
This will return an array of three smaller arrays, each of which contains the appropriate number of students.
|
242
|
+
This will return an array of three smaller arrays, each of which contains the appropriate number of students.
|
243
243
|
|
244
244
|
## Development
|
245
245
|
|
@@ -250,4 +250,3 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
250
250
|
## License
|
251
251
|
|
252
252
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
253
|
-
|
data/learn_party.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["johannkerr@gmail.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{tool for Flatiron School instructors to group students for projects}
|
13
|
-
spec.homepage = "https://github.com/flatiron-school/learn-
|
13
|
+
spec.homepage = "https://github.com/flatiron-school/learn-party-gem"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
data/lib/learn_party/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: learn_party
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- johann kerr
|
@@ -102,7 +102,7 @@ files:
|
|
102
102
|
- lib/learn_party.rb
|
103
103
|
- lib/learn_party/generator.rb
|
104
104
|
- lib/learn_party/version.rb
|
105
|
-
homepage: https://github.com/flatiron-school/learn-
|
105
|
+
homepage: https://github.com/flatiron-school/learn-party-gem
|
106
106
|
licenses:
|
107
107
|
- MIT
|
108
108
|
metadata:
|