trackler 2.1.0.32 → 2.1.0.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/common/CONTRIBUTING.md +1 -24
  3. data/fixtures/tracks/animal/config.json +6 -2
  4. data/fixtures/tracks/fake/config.json +0 -5
  5. data/fixtures/tracks/fruit/config.json +16 -4
  6. data/fixtures/tracks/jewels/config.json +6 -2
  7. data/fixtures/tracks/shoes/config.json +6 -2
  8. data/fixtures/tracks/snowflake/config.json +21 -5
  9. data/lib/trackler/track.rb +0 -11
  10. data/lib/trackler/version.rb +1 -1
  11. data/tracks/c/config.json +281 -245
  12. data/tracks/c/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  13. data/tracks/ceylon/config.json +0 -5
  14. data/tracks/ceylon/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  15. data/tracks/cpp/config.json +9 -13
  16. data/tracks/cpp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  17. data/tracks/cpp/exercises/grade-school/grade_school_test.cpp +1 -0
  18. data/tracks/cpp/exercises/nucleotide-count/nucleotide_count_test.cpp +1 -0
  19. data/tracks/crystal/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  20. data/tracks/csharp/config.json +4 -9
  21. data/tracks/csharp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  22. data/tracks/delphi/config.json +31 -36
  23. data/tracks/delphi/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  24. data/tracks/ecmascript/config.json +65 -7
  25. data/tracks/ecmascript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  26. data/tracks/elixir/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  27. data/tracks/elm/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  28. data/tracks/erlang/_test/bootstrap.sh +3 -5
  29. data/tracks/erlang/config.json +108 -40
  30. data/tracks/erlang/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  31. data/tracks/factor/config.json +6 -14
  32. data/tracks/factor/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  33. data/tracks/fsharp/config.json +1 -1
  34. data/tracks/fsharp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  35. data/tracks/go/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  36. data/tracks/haskell/config.json +0 -4
  37. data/tracks/haskell/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  38. data/tracks/idris/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  39. data/tracks/java/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  40. data/tracks/java/exercises/isogram/HINT.md +10 -0
  41. data/tracks/javascript/config.json +57 -6
  42. data/tracks/javascript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  43. data/tracks/julia/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  44. data/tracks/kotlin/{TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  45. data/tracks/lfe/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  46. data/tracks/lisp/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  47. data/tracks/lua/config.json +684 -611
  48. data/tracks/lua/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  49. data/tracks/objective-c/config.json +235 -241
  50. data/tracks/objective-c/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  51. data/tracks/ocaml/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  52. data/tracks/perl6/config.json +70 -32
  53. data/tracks/php/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  54. data/tracks/r/config.json +72 -24
  55. data/tracks/r/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  56. data/tracks/racket/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  57. data/tracks/ruby/exercises/bob/.meta/.version +1 -0
  58. data/tracks/ruby/exercises/bob/.meta/generator/bob_case.rb +9 -0
  59. data/tracks/ruby/exercises/bob/.meta/solutions/bob.rb +4 -0
  60. data/tracks/ruby/exercises/bob/bob_test.rb +95 -50
  61. data/tracks/rust/config.json +0 -5
  62. data/tracks/rust/{exercises/TRACK_HINTS.md → docs/EXERCISE_README_INSERT.md} +0 -0
  63. data/tracks/scala/config.json +758 -758
  64. data/tracks/scala/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  65. data/tracks/scheme/docs/EXERCISE_README_INSERT.md +0 -0
  66. data/tracks/swift/config.json +468 -478
  67. data/tracks/swift/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  68. data/tracks/typescript/{SETUP.md → docs/EXERCISE_README_INSERT.md} +0 -0
  69. data/tracks/vbnet/config.json +21 -7
  70. metadata +37 -33
@@ -5,349 +5,343 @@
5
5
  "active": true,
6
6
  "exercises": [
7
7
  {
8
- "difficulty": 1,
9
- "slug": "hello-world",
10
- "topics": [
11
- "Text formatting",
12
- "Optional values"
13
- ]
8
+ "difficulty": 1,
9
+ "slug": "hello-world",
10
+ "topics": [
11
+ "Text formatting",
12
+ "Optional values"
13
+ ]
14
14
  },
15
- {
16
- "difficulty": 1,
17
- "slug": "bob",
18
- "topics": [
19
- "Strings",
20
- "Control-flow (if-else statements)"
21
- ]
15
+ {
16
+ "difficulty": 1,
17
+ "slug": "bob",
18
+ "topics": [
19
+ "Strings",
20
+ "Control-flow (if-else statements)"
21
+ ]
22
22
  },
23
23
  {
24
- "difficulty": 1,
25
- "slug": "leap",
26
- "topics": [
27
- "Integers"
28
- ]
24
+ "difficulty": 1,
25
+ "slug": "leap",
26
+ "topics": [
27
+ "Integers"
28
+ ]
29
29
  },
30
30
  {
31
- "difficulty": 1,
32
- "slug": "gigasecond",
33
- "topics": [
34
- "Dates"
35
- ]
31
+ "difficulty": 1,
32
+ "slug": "gigasecond",
33
+ "topics": [
34
+ "Dates"
35
+ ]
36
36
  },
37
37
  {
38
- "difficulty": 1,
39
- "slug": "difference-of-squares",
40
- "topics": [
41
- "Integers"
42
- ]
38
+ "difficulty": 1,
39
+ "slug": "difference-of-squares",
40
+ "topics": [
41
+ "Integers"
42
+ ]
43
43
  },
44
44
  {
45
- "difficulty": 1,
46
- "slug": "sum-of-multiples",
47
- "topics": [
48
- "Lists",
49
- "Transforming"
50
- ]
45
+ "difficulty": 1,
46
+ "slug": "sum-of-multiples",
47
+ "topics": [
48
+ "Lists",
49
+ "Transforming"
50
+ ]
51
51
  },
52
52
  {
53
- "difficulty": 1,
54
- "slug": "space-age",
55
- "topics": [
56
- "Discriminated unions",
57
- "Floating-point numbers"
58
- ]
53
+ "difficulty": 1,
54
+ "slug": "space-age",
55
+ "topics": [
56
+ "Discriminated unions",
57
+ "Floating-point numbers"
58
+ ]
59
59
  },
60
60
  {
61
- "difficulty": 2,
62
- "slug": "hamming",
63
- "topics": [
64
- "Strings",
65
- "Filtering"
66
- ]
61
+ "difficulty": 2,
62
+ "slug": "hamming",
63
+ "topics": [
64
+ "Strings",
65
+ "Filtering"
66
+ ]
67
67
  },
68
68
  {
69
- "difficulty": 2,
70
- "slug": "nucleotide-count",
71
- "topics": [
72
- "Maps",
73
- "Strings"
74
- ]
69
+ "difficulty": 2,
70
+ "slug": "nucleotide-count",
71
+ "topics": [
72
+ "Maps",
73
+ "Strings"
74
+ ]
75
75
  },
76
76
  {
77
- "difficulty": 2,
78
- "slug": "raindrops",
79
- "topics": [
80
- "Text formatting",
81
- "Filtering"
82
- ]
77
+ "difficulty": 2,
78
+ "slug": "raindrops",
79
+ "topics": [
80
+ "Text formatting",
81
+ "Filtering"
82
+ ]
83
83
  },
84
84
  {
85
- "difficulty": 2,
86
- "slug": "grade-school",
87
- "topics": [
88
- "Maps",
89
- "Sorting"
90
- ]
85
+ "difficulty": 2,
86
+ "slug": "grade-school",
87
+ "topics": [
88
+ "Maps",
89
+ "Sorting"
90
+ ]
91
91
  },
92
92
  {
93
- "difficulty": 2,
94
- "slug": "etl",
95
- "topics": [
96
- "Maps",
97
- "Transforming"
98
- ]
93
+ "difficulty": 2,
94
+ "slug": "etl",
95
+ "topics": [
96
+ "Maps",
97
+ "Transforming"
98
+ ]
99
99
  },
100
100
  {
101
- "difficulty": 2,
102
- "slug": "isogram",
103
- "topics": [
104
- "Strings",
105
- "Filtering"
106
- ]
101
+ "difficulty": 2,
102
+ "slug": "isogram",
103
+ "topics": [
104
+ "Strings",
105
+ "Filtering"
106
+ ]
107
107
  },
108
108
  {
109
- "difficulty": 2,
110
- "slug": "flatten-array",
111
- "topics": [
112
- "Searching",
113
- "Looping",
114
- "Lists"
115
- ]
109
+ "difficulty": 2,
110
+ "slug": "flatten-array",
111
+ "topics": [
112
+ "Searching",
113
+ "Looping",
114
+ "Lists"
115
+ ]
116
116
  },
117
-
118
117
  {
119
- "difficulty": 3,
120
- "slug": "sublist",
121
- "topics": [
122
- "Looping",
123
- "Lists"
124
- ]
118
+ "difficulty": 3,
119
+ "slug": "sublist",
120
+ "topics": [
121
+ "Looping",
122
+ "Lists"
123
+ ]
125
124
  },
126
125
  {
127
- "difficulty": 3,
128
- "slug": "clock",
129
- "topics": [
130
- "Time",
131
- "Structural equality"
132
- ]
126
+ "difficulty": 3,
127
+ "slug": "clock",
128
+ "topics": [
129
+ "Time",
130
+ "Structural equality"
131
+ ]
133
132
  },
134
133
  {
135
- "difficulty": 3,
136
- "slug": "triangle",
137
- "topics": [
138
- "Integers",
139
- "Discriminated unions"
140
- ]
134
+ "difficulty": 3,
135
+ "slug": "triangle",
136
+ "topics": [
137
+ "Integers",
138
+ "Discriminated unions"
139
+ ]
141
140
  },
142
141
  {
143
- "difficulty": 3,
144
- "slug": "robot-name",
145
- "topics": [
146
- "Randomness",
147
- "Strings"
148
- ]
142
+ "difficulty": 3,
143
+ "slug": "robot-name",
144
+ "topics": [
145
+ "Randomness",
146
+ "Strings"
147
+ ]
149
148
  },
150
149
  {
151
- "difficulty": 3,
152
- "slug": "scrabble-score",
153
- "topics": [
154
- "Transforming"
155
- ]
150
+ "difficulty": 3,
151
+ "slug": "scrabble-score",
152
+ "topics": [
153
+ "Transforming"
154
+ ]
156
155
  },
157
156
  {
158
- "difficulty": 3,
159
- "slug": "phone-number",
160
- "topics": [
161
- "Parsing",
162
- "Transforming"
163
- ]
157
+ "difficulty": 3,
158
+ "slug": "phone-number",
159
+ "topics": [
160
+ "Parsing",
161
+ "Transforming"
162
+ ]
164
163
  },
165
164
  {
166
- "difficulty": 3,
167
- "slug": "perfect-numbers",
168
- "topics": [
169
- "Integers",
170
- "Discriminated unions"
171
- ]
165
+ "difficulty": 3,
166
+ "slug": "perfect-numbers",
167
+ "topics": [
168
+ "Integers",
169
+ "Discriminated unions"
170
+ ]
172
171
  },
173
172
  {
174
- "difficulty": 3,
175
- "slug": "secret-handshake",
176
- "topics": [
177
- "Bitwise operations",
178
- "Lists"
179
- ]
173
+ "difficulty": 3,
174
+ "slug": "secret-handshake",
175
+ "topics": [
176
+ "Bitwise operations",
177
+ "Lists"
178
+ ]
180
179
  },
181
180
  {
182
- "difficulty": 3,
183
- "slug": "atbash-cipher",
184
- "topics": [
185
- "Strings",
186
- "Maps",
187
- "Transforming"
188
- ]
181
+ "difficulty": 3,
182
+ "slug": "atbash-cipher",
183
+ "topics": [
184
+ "Strings",
185
+ "Maps",
186
+ "Transforming"
187
+ ]
189
188
  },
190
189
  {
191
- "difficulty": 3,
192
- "slug": "sieve",
193
- "topics": [
194
- "Filtering",
195
- "Mathematics"
196
- ]
190
+ "difficulty": 3,
191
+ "slug": "sieve",
192
+ "topics": [
193
+ "Filtering",
194
+ "Mathematics"
195
+ ]
197
196
  },
198
197
  {
199
- "difficulty": 4,
200
- "slug": "beer-song",
201
- "topics": [
202
- "Looping",
203
- "Conditionals",
204
- "Strings"
205
- ]
198
+ "difficulty": 4,
199
+ "slug": "beer-song",
200
+ "topics": [
201
+ "Looping",
202
+ "Conditionals",
203
+ "Strings"
204
+ ]
206
205
  },
207
206
  {
208
- "difficulty": 4,
209
- "slug": "word-count",
210
- "topics": [
211
- "Strings",
212
- "Maps",
213
- "Transforming"
214
- ]
207
+ "difficulty": 4,
208
+ "slug": "word-count",
209
+ "topics": [
210
+ "Strings",
211
+ "Maps",
212
+ "Transforming"
213
+ ]
215
214
  },
216
215
  {
217
- "difficulty": 4,
218
- "slug": "allergies",
219
- "topics": [
220
- "Enumerations",
221
- "Bitwise operations",
222
- "Filtering"
223
- ]
216
+ "difficulty": 4,
217
+ "slug": "allergies",
218
+ "topics": [
219
+ "Enumerations",
220
+ "Bitwise operations",
221
+ "Filtering"
222
+ ]
224
223
  },
225
224
  {
226
- "difficulty": 4,
227
- "slug": "meetup",
228
- "topics": [
229
- "Dates"
230
- ]
225
+ "difficulty": 4,
226
+ "slug": "meetup",
227
+ "topics": [
228
+ "Dates"
229
+ ]
231
230
  },
232
231
  {
233
- "difficulty": 4,
234
- "slug": "anagram",
235
- "topics": [
236
- "Strings",
237
- "Filtering"
238
- ]
232
+ "difficulty": 4,
233
+ "slug": "anagram",
234
+ "topics": [
235
+ "Strings",
236
+ "Filtering"
237
+ ]
239
238
  },
240
239
  {
241
- "difficulty": 4,
242
- "slug": "acronym",
243
- "topics": [
244
- "Strings",
245
- "Transforming"
246
- ]
240
+ "difficulty": 4,
241
+ "slug": "acronym",
242
+ "topics": [
243
+ "Strings",
244
+ "Transforming"
245
+ ]
247
246
  },
248
247
  {
249
- "difficulty": 4,
250
- "slug": "all-your-base",
251
- "topics": [
252
- "Integers",
253
- "Transforming"
254
- ]
248
+ "difficulty": 4,
249
+ "slug": "all-your-base",
250
+ "topics": [
251
+ "Integers",
252
+ "Transforming"
253
+ ]
255
254
  },
256
255
  {
257
- "difficulty": 4,
258
- "slug": "largest-series-product",
259
- "topics": [
260
- "Strings",
261
- "Integers",
262
- "Transforming"
263
- ]
256
+ "difficulty": 4,
257
+ "slug": "largest-series-product",
258
+ "topics": [
259
+ "Strings",
260
+ "Integers",
261
+ "Transforming"
262
+ ]
264
263
  },
265
264
  {
266
265
  "difficulty": 4,
267
266
  "slug": "pangram",
268
267
  "topics": [
269
- "Strings",
270
- "Searching",
271
- "Transforming"
268
+ "Strings",
269
+ "Searching",
270
+ "Transforming"
272
271
  ]
273
272
  },
274
- {
273
+ {
275
274
  "difficulty": 4,
276
275
  "slug": "transpose",
277
276
  "topics": [
278
- "Strings",
279
- "Transforming"
277
+ "Strings",
278
+ "Transforming"
280
279
  ]
281
280
  },
282
281
  {
283
282
  "difficulty": 4,
284
283
  "slug": "binary-search",
285
284
  "topics": [
286
- "Integers",
287
- "Recursion",
288
- "Searching"
285
+ "Integers",
286
+ "Recursion",
287
+ "Searching"
289
288
  ]
290
289
  },
291
290
  {
292
291
  "difficulty": 4,
293
292
  "slug": "crypto-square",
294
293
  "topics": [
295
- "Looping",
296
- "Transforming",
297
- "Strings"
294
+ "Looping",
295
+ "Transforming",
296
+ "Strings"
298
297
  ]
299
298
  },
300
299
  {
301
- "difficulty": 4,
302
- "slug": "pascals-triangle",
303
- "topics": [
304
- "Recursion",
305
- "Lists",
306
- "Mathematics"
307
- ]
300
+ "difficulty": 4,
301
+ "slug": "pascals-triangle",
302
+ "topics": [
303
+ "Recursion",
304
+ "Lists",
305
+ "Mathematics"
306
+ ]
308
307
  },
309
308
  {
310
309
  "difficulty": 5,
311
310
  "slug": "bracket-push",
312
311
  "topics": [
313
- "Strings",
314
- "Conditionals",
315
- "Looping"
312
+ "Strings",
313
+ "Conditionals",
314
+ "Looping"
316
315
  ]
317
316
  },
318
317
  {
319
- "difficulty": 5,
320
- "slug": "roman-numerals",
321
- "topics": [
322
- "Recursion",
323
- "Transforming"
324
- ]
318
+ "difficulty": 5,
319
+ "slug": "roman-numerals",
320
+ "topics": [
321
+ "Recursion",
322
+ "Transforming"
323
+ ]
325
324
  },
326
325
  {
327
- "difficulty": 5,
328
- "slug": "run-length-encoding",
329
- "topics": [
330
- "Algorithms",
331
- "Transforming"
332
- ]
326
+ "difficulty": 5,
327
+ "slug": "run-length-encoding",
328
+ "topics": [
329
+ "Algorithms",
330
+ "Transforming"
331
+ ]
333
332
  },
334
333
  {
335
- "difficulty": 5,
336
- "slug": "luhn",
337
- "topics": [
338
- "Strings",
339
- "Algorithms",
340
- "Transforming"
341
- ]
334
+ "difficulty": 5,
335
+ "slug": "luhn",
336
+ "topics": [
337
+ "Strings",
338
+ "Algorithms",
339
+ "Transforming"
340
+ ]
342
341
  }
343
342
  ],
344
343
  "deprecated": [
345
344
 
346
- ],
347
- "ignored": [
348
- "docs"
349
- ,"img"
350
- ,"xcodeProject"
351
345
  ],
352
346
  "foregone": [
353
347