trackler 2.2.1.6 → 2.2.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (236) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/c/README.md +27 -0
  4. data/tracks/coffeescript/config.json +1 -0
  5. data/tracks/coldfusion/config.json +1 -1
  6. data/tracks/crystal/README.md +27 -7
  7. data/tracks/crystal/config/maintainers.json +25 -0
  8. data/tracks/crystal/generator/spec/remote_data_file_spec.cr +1 -1
  9. data/tracks/crystal/generator/src/exercise_generator.cr +1 -1
  10. data/tracks/crystal/generator/src/remote_data_file.cr +2 -2
  11. data/tracks/csharp/config.json +1 -2
  12. data/tracks/csharp/config/maintainers.json +55 -0
  13. data/tracks/csharp/docs/EXERCISE_README_INSERT.md +1 -1
  14. data/tracks/csharp/exercises/accumulate/README.md +1 -1
  15. data/tracks/csharp/exercises/acronym/README.md +1 -1
  16. data/tracks/csharp/exercises/all-your-base/README.md +1 -1
  17. data/tracks/csharp/exercises/allergies/README.md +1 -1
  18. data/tracks/csharp/exercises/alphametics/README.md +1 -1
  19. data/tracks/csharp/exercises/anagram/README.md +1 -1
  20. data/tracks/csharp/exercises/atbash-cipher/README.md +1 -1
  21. data/tracks/csharp/exercises/bank-account/README.md +1 -1
  22. data/tracks/csharp/exercises/beer-song/README.md +1 -1
  23. data/tracks/csharp/exercises/binary-search-tree/README.md +1 -1
  24. data/tracks/csharp/exercises/binary-search/README.md +1 -1
  25. data/tracks/csharp/exercises/bob/README.md +1 -1
  26. data/tracks/csharp/exercises/book-store/README.md +1 -1
  27. data/tracks/csharp/exercises/bowling/README.md +1 -1
  28. data/tracks/csharp/exercises/bracket-push/README.md +1 -1
  29. data/tracks/csharp/exercises/change/README.md +1 -1
  30. data/tracks/csharp/exercises/circular-buffer/README.md +1 -1
  31. data/tracks/csharp/exercises/clock/README.md +1 -1
  32. data/tracks/csharp/exercises/connect/README.md +1 -1
  33. data/tracks/csharp/exercises/crypto-square/README.md +1 -1
  34. data/tracks/csharp/exercises/custom-set/README.md +1 -1
  35. data/tracks/csharp/exercises/diamond/README.md +1 -1
  36. data/tracks/csharp/exercises/difference-of-squares/README.md +1 -1
  37. data/tracks/csharp/exercises/diffie-hellman/README.md +1 -1
  38. data/tracks/csharp/exercises/dominoes/README.md +1 -1
  39. data/tracks/csharp/exercises/dot-dsl/README.md +1 -1
  40. data/tracks/csharp/exercises/error-handling/README.md +1 -1
  41. data/tracks/csharp/exercises/etl/README.md +1 -1
  42. data/tracks/csharp/exercises/flatten-array/README.md +1 -1
  43. data/tracks/csharp/exercises/food-chain/README.md +1 -1
  44. data/tracks/csharp/exercises/forth/README.md +1 -1
  45. data/tracks/csharp/exercises/gigasecond/README.md +1 -1
  46. data/tracks/csharp/exercises/go-counting/README.md +1 -1
  47. data/tracks/csharp/exercises/grade-school/README.md +1 -1
  48. data/tracks/csharp/exercises/grains/README.md +1 -1
  49. data/tracks/csharp/exercises/grep/README.md +1 -1
  50. data/tracks/csharp/exercises/hamming/README.md +1 -1
  51. data/tracks/csharp/exercises/hangman/README.md +1 -1
  52. data/tracks/csharp/exercises/hello-world/README.md +1 -1
  53. data/tracks/csharp/exercises/house/README.md +1 -1
  54. data/tracks/csharp/exercises/isogram/README.md +1 -1
  55. data/tracks/csharp/exercises/kindergarten-garden/README.md +1 -1
  56. data/tracks/csharp/exercises/largest-series-product/README.md +1 -1
  57. data/tracks/csharp/exercises/leap/README.md +1 -1
  58. data/tracks/csharp/exercises/ledger/README.md +1 -1
  59. data/tracks/csharp/exercises/linked-list/README.md +1 -1
  60. data/tracks/csharp/exercises/list-ops/README.md +1 -1
  61. data/tracks/csharp/exercises/luhn/README.md +1 -1
  62. data/tracks/csharp/exercises/markdown/README.md +1 -1
  63. data/tracks/csharp/exercises/matrix/README.md +1 -1
  64. data/tracks/csharp/exercises/meetup/README.md +1 -1
  65. data/tracks/csharp/exercises/minesweeper/README.md +1 -1
  66. data/tracks/csharp/exercises/nth-prime/README.md +1 -1
  67. data/tracks/csharp/exercises/nucleotide-count/README.md +1 -1
  68. data/tracks/csharp/exercises/ocr-numbers/README.md +1 -1
  69. data/tracks/csharp/exercises/palindrome-products/README.md +1 -1
  70. data/tracks/csharp/exercises/pangram/README.md +1 -1
  71. data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -1
  72. data/tracks/csharp/exercises/pascals-triangle/README.md +1 -1
  73. data/tracks/csharp/exercises/perfect-numbers/README.md +1 -1
  74. data/tracks/csharp/exercises/phone-number/README.md +1 -1
  75. data/tracks/csharp/exercises/pig-latin/README.md +1 -1
  76. data/tracks/csharp/exercises/poker/README.md +1 -1
  77. data/tracks/csharp/exercises/pov/README.md +1 -1
  78. data/tracks/csharp/exercises/prime-factors/README.md +1 -1
  79. data/tracks/csharp/exercises/protein-translation/README.md +1 -1
  80. data/tracks/csharp/exercises/proverb/README.md +1 -1
  81. data/tracks/csharp/exercises/pythagorean-triplet/README.md +1 -1
  82. data/tracks/csharp/exercises/queen-attack/README.md +1 -1
  83. data/tracks/csharp/exercises/rail-fence-cipher/README.md +1 -1
  84. data/tracks/csharp/exercises/raindrops/README.md +1 -1
  85. data/tracks/csharp/exercises/react/README.md +1 -1
  86. data/tracks/csharp/exercises/rectangles/README.md +1 -1
  87. data/tracks/csharp/exercises/rna-transcription/README.md +1 -1
  88. data/tracks/csharp/exercises/robot-name/README.md +1 -1
  89. data/tracks/csharp/exercises/robot-simulator/README.md +1 -1
  90. data/tracks/csharp/exercises/roman-numerals/README.md +1 -1
  91. data/tracks/csharp/exercises/rotational-cipher/README.md +1 -1
  92. data/tracks/csharp/exercises/run-length-encoding/README.md +1 -1
  93. data/tracks/csharp/exercises/saddle-points/README.md +1 -1
  94. data/tracks/csharp/exercises/say/README.md +1 -1
  95. data/tracks/csharp/exercises/scale-generator/README.md +1 -1
  96. data/tracks/csharp/exercises/scrabble-score/README.md +1 -1
  97. data/tracks/csharp/exercises/secret-handshake/README.md +1 -1
  98. data/tracks/csharp/exercises/series/README.md +1 -1
  99. data/tracks/csharp/exercises/sgf-parsing/README.md +1 -1
  100. data/tracks/csharp/exercises/sieve/README.md +1 -1
  101. data/tracks/csharp/exercises/simple-cipher/README.md +1 -1
  102. data/tracks/csharp/exercises/simple-linked-list/README.md +1 -1
  103. data/tracks/csharp/exercises/space-age/README.md +1 -1
  104. data/tracks/csharp/exercises/strain/README.md +1 -1
  105. data/tracks/csharp/exercises/sublist/README.md +1 -1
  106. data/tracks/csharp/exercises/sum-of-multiples/README.md +1 -1
  107. data/tracks/csharp/exercises/tournament/README.md +1 -1
  108. data/tracks/csharp/exercises/transpose/README.md +1 -1
  109. data/tracks/csharp/exercises/tree-building/README.md +1 -1
  110. data/tracks/csharp/exercises/triangle/README.md +1 -1
  111. data/tracks/csharp/exercises/twelve-days/README.md +1 -1
  112. data/tracks/csharp/exercises/two-bucket/README.md +1 -1
  113. data/tracks/csharp/exercises/variable-length-quantity/README.md +1 -1
  114. data/tracks/csharp/exercises/word-count/README.md +1 -1
  115. data/tracks/csharp/exercises/word-search/README.md +1 -1
  116. data/tracks/csharp/exercises/wordy/README.md +1 -1
  117. data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -1
  118. data/tracks/csharp/exercises/zipper/README.md +1 -1
  119. data/tracks/d/config.json +1 -0
  120. data/tracks/dart/config/maintainers.json +15 -0
  121. data/tracks/ecmascript/config.json +76 -193
  122. data/tracks/ecmascript/exercises/twelve-days/README.md +66 -0
  123. data/tracks/ecmascript/exercises/twelve-days/example.js +53 -0
  124. data/tracks/ecmascript/exercises/twelve-days/package.json +68 -0
  125. data/tracks/ecmascript/exercises/twelve-days/twelve-days.spec.js +106 -0
  126. data/tracks/factor/config.json +1 -1
  127. data/tracks/fsharp/config/maintainers.json +35 -0
  128. data/tracks/go/config.json +82 -38
  129. data/tracks/go/config/maintainers.json +13 -22
  130. data/tracks/go/exercises/bowling/cases_test.go +11 -11
  131. data/tracks/go/exercises/forth/cases_test.go +7 -7
  132. data/tracks/go/exercises/forth/example.go +1 -1
  133. data/tracks/go/exercises/forth/forth_test.go +1 -1
  134. data/tracks/go/exercises/hamming/cases_test.go +7 -7
  135. data/tracks/go/exercises/hamming/hamming.go +1 -1
  136. data/tracks/go/exercises/phone-number/cases_test.go +2 -7
  137. data/tracks/go/exercises/phone-number/example.go +1 -1
  138. data/tracks/go/exercises/phone-number/phone_number_test.go +1 -1
  139. data/tracks/go/exercises/rna-transcription/cases_test.go +7 -7
  140. data/tracks/go/exercises/secret-handshake/cases_test.go +1 -1
  141. data/tracks/groovy/config.json +1 -0
  142. data/tracks/haxe/config.json +1 -1
  143. data/tracks/java/.travis.yml +1 -1
  144. data/tracks/java/config/maintainers.json +20 -0
  145. data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +1 -1
  146. data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +1 -1
  147. data/tracks/javascript/config.json +229 -247
  148. data/tracks/kotlin/config/maintainers.json +35 -0
  149. data/tracks/lfe/config/maintainers.json +15 -0
  150. data/tracks/lisp/config/maintainers.json +55 -0
  151. data/tracks/ocaml/config.json +0 -5
  152. data/tracks/ocaml/config/maintainers.json +25 -0
  153. data/tracks/perl5/config/maintainers.json +25 -0
  154. data/tracks/perl6/config/maintainers.json +25 -0
  155. data/tracks/pony/config/maintainers.json +15 -0
  156. data/tracks/pony/exercises/atbash-cipher/example.pony +2 -2
  157. data/tracks/pony/exercises/beer-song/example.pony +1 -1
  158. data/tracks/pony/exercises/bob/example.pony +1 -1
  159. data/tracks/pony/exercises/difference-of-squares/example.pony +1 -1
  160. data/tracks/pony/exercises/hamming/test.pony +12 -12
  161. data/tracks/pony/exercises/pascals-triangle/example.pony +1 -1
  162. data/tracks/pony/exercises/pascals-triangle/test.pony +6 -6
  163. data/tracks/pony/exercises/rna-transcription/test.pony +3 -3
  164. data/tracks/pony/exercises/roman-numerals/test.pony +3 -3
  165. data/tracks/purescript/config/maintainers.json +35 -0
  166. data/tracks/r/config.json +140 -81
  167. data/tracks/r/exercises/collatz-conjecture/README.md +43 -0
  168. data/tracks/r/exercises/collatz-conjecture/collatz-conjecture.R +3 -0
  169. data/tracks/r/exercises/collatz-conjecture/example.R +13 -0
  170. data/tracks/r/exercises/collatz-conjecture/test_collatz-conjecture.R +28 -0
  171. data/tracks/r/exercises/nucleotide-count/README.md +43 -0
  172. data/tracks/r/exercises/nucleotide-count/example.R +17 -0
  173. data/tracks/r/exercises/nucleotide-count/nucleotide-count.R +3 -0
  174. data/tracks/r/exercises/nucleotide-count/test_nucleotide-count.R +51 -0
  175. data/tracks/r/exercises/pangram/README.md +25 -0
  176. data/tracks/r/exercises/pangram/example.R +14 -0
  177. data/tracks/r/exercises/pangram/pangram.R +3 -0
  178. data/tracks/r/exercises/pangram/test_pangram.R +42 -0
  179. data/tracks/r/exercises/triangle/.meta/hints.md +4 -0
  180. data/tracks/r/exercises/triangle/README.md +41 -0
  181. data/tracks/r/exercises/triangle/example.R +23 -0
  182. data/tracks/r/exercises/triangle/test_triangle.R +72 -0
  183. data/tracks/r/exercises/triangle/triangle.R +3 -0
  184. data/tracks/rust/config.json +32 -1
  185. data/tracks/rust/config/maintainers.json +1 -6
  186. data/tracks/rust/exercises/acronym/tests/acronym.rs +1 -1
  187. data/tracks/rust/exercises/beer-song/example.rs +1 -1
  188. data/tracks/rust/exercises/circular-buffer/example.rs +8 -10
  189. data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +2 -2
  190. data/tracks/rust/exercises/clock/.meta/hints.md +10 -0
  191. data/tracks/rust/exercises/clock/Cargo.lock +4 -0
  192. data/tracks/rust/exercises/clock/Cargo.toml +6 -0
  193. data/tracks/rust/exercises/clock/README.md +57 -0
  194. data/tracks/rust/exercises/clock/example.rs +32 -0
  195. data/tracks/{ocaml/exercises/point-mutations/example.ml → rust/exercises/clock/src/lib.rs} +0 -0
  196. data/tracks/rust/exercises/clock/tests/clock.rs +331 -0
  197. data/tracks/rust/exercises/custom-set/tests/custom-set.rs +3 -3
  198. data/tracks/rust/exercises/dominoes/example.rs +1 -1
  199. data/tracks/rust/exercises/grade-school/example.rs +1 -1
  200. data/tracks/rust/exercises/hamming/example.rs +1 -1
  201. data/tracks/rust/exercises/nth-prime/Cargo.lock +4 -0
  202. data/tracks/rust/exercises/nth-prime/Cargo.toml +6 -0
  203. data/tracks/rust/exercises/nth-prime/README.md +47 -0
  204. data/tracks/rust/exercises/nth-prime/example.rs +28 -0
  205. data/tracks/rust/exercises/nth-prime/src/lib.rs +0 -0
  206. data/tracks/rust/exercises/nth-prime/tests/nth-prime.rs +30 -0
  207. data/tracks/rust/exercises/parallel-letter-frequency/example.rs +1 -1
  208. data/tracks/rust/exercises/phone-number/example.rs +1 -1
  209. data/tracks/rust/exercises/pythagorean-triplet/Cargo.lock +4 -0
  210. data/tracks/rust/exercises/pythagorean-triplet/Cargo.toml +6 -0
  211. data/tracks/rust/exercises/pythagorean-triplet/README.md +56 -0
  212. data/tracks/rust/exercises/pythagorean-triplet/example.rs +11 -0
  213. data/tracks/rust/exercises/pythagorean-triplet/src/lib.rs +0 -0
  214. data/tracks/rust/exercises/pythagorean-triplet/tests/pythagorean-triplet.rs +6 -0
  215. data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +1 -1
  216. data/tracks/rust/exercises/robot-name/tests/robot-name.rs +2 -2
  217. data/tracks/rust/exercises/say/example.rs +4 -4
  218. data/tracks/rust/exercises/say/tests/say.rs +4 -4
  219. data/tracks/rust/exercises/tournament/example.rs +2 -2
  220. data/tracks/scala/config/maintainers.json +10 -6
  221. data/tracks/scala/exercises/bracket-push/example.scala +2 -2
  222. data/tracks/scala/exercises/bracket-push/src/test/scala/BracketPushTest.scala +74 -0
  223. data/tracks/scala/exercises/crypto-square/example.scala +9 -9
  224. data/tracks/scala/exercises/crypto-square/src/test/scala/CryptoSquareTest.scala +33 -41
  225. data/tracks/scala/testgen/src/main/scala/BracketPushTestGenerator.scala +9 -38
  226. data/tracks/scala/testgen/src/main/scala/CryptoSquareTestGenerator.scala +17 -0
  227. data/tracks/sml/config.json +1 -1
  228. data/tracks/swift/config/maintainers.json +35 -0
  229. data/tracks/swift/docs/ABOUT.md +15 -5
  230. data/tracks/vimscript/config/maintainers.json +35 -0
  231. metadata +58 -8
  232. data/tracks/ocaml/exercises/point-mutations/Makefile +0 -8
  233. data/tracks/ocaml/exercises/point-mutations/README.md +0 -81
  234. data/tracks/ocaml/exercises/point-mutations/dna.mli +0 -6
  235. data/tracks/scala/exercises/bracket-push/src/test/scala/BracketsTest.scala +0 -68
  236. data/tracks/scala/exercises/crypto-square/src/main/scala/CryptoSquare.scala +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ad7c183b1a988973d59b92a618d9804a447431ec
4
- data.tar.gz: 415c0a4e86d226d3129ddd5f1b75bd0b717be1e4
3
+ metadata.gz: 32b3024c5c1eae3a8430dc5ff9b30dd89482b992
4
+ data.tar.gz: 81c39cf9c83b10b547105c0977d37a6789aa6208
5
5
  SHA512:
6
- metadata.gz: aaea7330191d3729d945896d0b7dfd01e0f3d5968220765946ee32b7c56baeeef513e7b81a6a1545176d9365da6dfe731e78fc0aabaf19a37cf42098c00365f5
7
- data.tar.gz: bf6f24c5df9ed3cd2bad26eb1fda61102c1d43abbb37861821b3d9542c06b0452e154ab0e8d899643cf9d25dffbb13a5ea2924bb8950ac69e8cc12fb89c241fb
6
+ metadata.gz: 59807cc0f318f2e45f868bbad1c6f2c3638b33acd0269cc91b64498f3a502c67acc492db5b2e10439e77b0957b2ce461fd087ccc8b6ace3ad147892c5d5a067d
7
+ data.tar.gz: 20c53bb897465d30cc7dc5d27582b4eb4dc17e912422c2323ccce6995b56662f1d843fb0c8ebde964c71e1b9d03a6df9f9417297d109ab3881995517f9d2bfaf
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.6"
2
+ VERSION = "2.2.1.7"
3
3
  end
data/tracks/c/README.md CHANGED
@@ -26,3 +26,30 @@ indent -nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0 -d0 -d
26
26
 
27
27
  See the [GNU `indent` manual](https://www.gnu.org/software/indent/manual/indent.html#SEC4) for more information.
28
28
 
29
+ ## Exercise Anatomy
30
+
31
+ Each exercise should be contained in a directory ```c/exercises/<my exercise>``` with ```<my exercise>``` referring to the name of the exercise. The structure of the directory is as follows:
32
+
33
+ ```
34
+ +-- <my exercise>
35
+ +-- makefile
36
+ +-- src
37
+ |   +-- example.c
38
+ |   +-- example.h | <my exercise>.h
39
+ +-- test
40
+ +-- test_<my exercise>.c
41
+ +-- vendor
42
+ +-- unity.c
43
+ +-- unity.h
44
+ +-- unity_internals.h
45
+ ```
46
+
47
+ * `test` - contains the test file ```test_<my exercise>.c``` and a ```vendor``` directory containing the test harness [Unity](http://www.throwtheswitch.org/unity/) from [ThrowTheSwitch](http://www.throwtheswitch.org/#intro-1-section). ThrowTheSwitch has a decent guide on [getting started with Unity](http://www.throwtheswitch.org/getting-started-with-unity/) should you desire a tutorial.
48
+
49
+ * `src` - contains the example files ```example.c``` and ```example.h```. These are both skipped by the ```exercism``` cli when downloading to the client, so it is imperative that you do not reference the names of the files in your code. If you need to provide a header file example that is necessary to run your tests it should be named ```<my exercise>.h``` instead. Please also use [```include```](http://faculty.cs.niu.edu/~mcmahon/CS241/c241man/node90.html) guards in your header files. The tests can be run using the [```bin/run-tests```](https://github.com/exercism/c/blob/master/bin/run-tests) script which will rename the ```example.{c|h}``` files accordingly.
50
+
51
+ ## License
52
+
53
+ The MIT License (MIT)
54
+
55
+ Copyright (c) 2014 Katrina Owen, _@kytrinyx.com
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "language": "CoffeeScript",
3
3
  "active": true,
4
+ "test_pattern": "spec.coffee",
4
5
  "foregone": [
5
6
 
6
7
  ],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "language": "ColdFusion",
3
3
  "active": false,
4
- "test_pattern": "TODO",
4
+ "test_pattern": "_tests.cfc",
5
5
  "foregone": [
6
6
 
7
7
  ],
@@ -1,4 +1,4 @@
1
- # xCrystal [![Build Status](https://travis-ci.org/exercism/crystal.svg?branch=master)](https://travis-ci.org/exercism/crystal)
1
+ # Crystal [![Build Status](https://travis-ci.org/exercism/crystal.svg?branch=master)](https://travis-ci.org/exercism/crystal)
2
2
 
3
3
  Exercism problems in Crystal.
4
4
 
@@ -8,7 +8,7 @@ Exercism problems in Crystal.
8
8
 
9
9
  Run all Exercises with:
10
10
  ```bash
11
- $ make test
11
+ $ make test-exercises
12
12
  ```
13
13
 
14
14
  ### Single Exercises
@@ -28,19 +28,39 @@ This file should contain 2 classes:
28
28
  * An exercise generator which must inherit from the ExerciseGenerator class.
29
29
  * A test case class which inherits from ExerciseTestCase.
30
30
 
31
- The x-common repo must reside at the same level as the developer's crystal directory, and must contain a canonical-data.json file for the given exercise.
31
+ There are two ways for the generator to get the test data.
32
32
 
33
- ### Running the Generator
33
+ **Local:**
34
+ The problem-specifications repo must reside at the same level as the developer's crystal directory, and must contain a canonical-data.json file for the given exercise.
35
+
36
+ **Remote:**
37
+ If the local problem-specifications repo doesn't exist, a request is made to GitHub to download (and cache) the test's canonical-data.json file.
38
+
39
+ ### Running the Generator for a Single Exercise
34
40
 
35
41
  From within the crystal directory:
36
42
  ```bash
37
- $ crystal generator/generate.cr hello-world
43
+ $ crystal generator/generator.cr hello-world
38
44
  ```
39
45
 
40
- Or build a binary:
46
+ Or build a binary and use that:
41
47
  ```bash
42
48
  $ make build-generator
43
- $ bin/generate-exercise hello-world
49
+ $ make generate-exercise GENERATOR=hello-world
50
+ ```
51
+
52
+ ### Running (or Re-running) the Generator for All Exercises
53
+
54
+ This can be used for refreshing the tests when changes are made to the x-common repo. Or for testing the full functionality of the test generator.
55
+
56
+ ```bash
57
+ $ make generate-exercises
58
+ ```
59
+
60
+ ### Testing the Generator
61
+
62
+ ```bash
63
+ $ make test-generator
44
64
  ```
45
65
 
46
66
  ## Contributing Guide
@@ -0,0 +1,25 @@
1
+ {
2
+ "maintainers": [
3
+ {
4
+ "github_username": "bmulvihill",
5
+ "show_on_website": false,
6
+ "alumnus": false,
7
+ "name": null,
8
+ "bio": null,
9
+ "link_text": null,
10
+ "link_url": null,
11
+ "avatar_url": null
12
+ },
13
+ {
14
+ "github_username": "mhelmetag",
15
+ "show_on_website": false,
16
+ "alumnus": false,
17
+ "name": null,
18
+ "bio": null,
19
+ "link_text": null,
20
+ "link_url": null,
21
+ "avatar_url": null
22
+ }
23
+ ],
24
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
25
+ }
@@ -31,7 +31,7 @@ describe "RemoteDataFile" do
31
31
  it "raises a not found exception if status is 404" do
32
32
  WebMock.stub(:get, TEST_URL).to_return(status: 404, body: "")
33
33
 
34
- error_message = "A #{RemoteDataFile::DATA_FILE} doesn't exist for test-exercise in x-common. " +
34
+ error_message = "A #{RemoteDataFile::DATA_FILE} doesn't exist for test-exercise in problem-specifications. " +
35
35
  "Go make one!"
36
36
 
37
37
  expect_raises(Exception, error_message) do
@@ -4,7 +4,7 @@ require "ecr"
4
4
  require "json"
5
5
 
6
6
  abstract class ExerciseGenerator
7
- METADATA_REPOSITORY = "x-common"
7
+ METADATA_REPOSITORY = "problem-specifications"
8
8
 
9
9
  def self.generate
10
10
  new.generate
@@ -1,7 +1,7 @@
1
1
  require "http/client"
2
2
 
3
3
  class RemoteDataFile
4
- BASE_URL = "https://raw.githubusercontent.com/exercism/x-common/master/exercises"
4
+ BASE_URL = "https://raw.githubusercontent.com/exercism/problem-specifications/master/exercises"
5
5
  DATA_FILE = "canonical-data.json"
6
6
 
7
7
  def initialize(@test_name : String); end
@@ -43,7 +43,7 @@ class RemoteDataFile
43
43
  when 200
44
44
  response.body
45
45
  when 404
46
- raise "A #{DATA_FILE} doesn't exist for #{@test_name} in x-common. " +
46
+ raise "A #{DATA_FILE} doesn't exist for #{@test_name} in problem-specifications. " +
47
47
  "Go make one!"
48
48
  else
49
49
  raise "Error while requesting the #{@test_name} data file from GitHub... " +
@@ -9,8 +9,7 @@
9
9
  "unlocked_by": null,
10
10
  "difficulty": 1,
11
11
  "topics": [
12
- "Text formatting",
13
- "Optional values"
12
+ "Text formatting"
14
13
  ]
15
14
  },
16
15
  {
@@ -0,0 +1,55 @@
1
+ {
2
+ "maintainers": [
3
+ {
4
+ "github_username": "ErikSchierboom",
5
+ "show_on_website": true,
6
+ "alumnus": false,
7
+ "name": "Erik Schierboom",
8
+ "bio": null,
9
+ "link_text": "My blog",
10
+ "link_url": "http://www.erikschierboom.com/",
11
+ "avatar_url": null
12
+ },
13
+ {
14
+ "github_username": "burtlo",
15
+ "show_on_website": false,
16
+ "alumnus": false,
17
+ "name": null,
18
+ "bio": null,
19
+ "link_text": null,
20
+ "link_url": null,
21
+ "avatar_url": null
22
+ },
23
+ {
24
+ "github_username": "bressain",
25
+ "show_on_website": false,
26
+ "alumnus": false,
27
+ "name": null,
28
+ "bio": null,
29
+ "link_text": null,
30
+ "link_url": null,
31
+ "avatar_url": null
32
+ },
33
+ {
34
+ "github_username": "jwood803",
35
+ "show_on_website": false,
36
+ "alumnus": false,
37
+ "name": null,
38
+ "bio": null,
39
+ "link_text": null,
40
+ "link_url": null,
41
+ "avatar_url": null
42
+ },
43
+ {
44
+ "github_username": "robkeim",
45
+ "show_on_website": false,
46
+ "alumnus": false,
47
+ "name": null,
48
+ "bio": null,
49
+ "link_text": null,
50
+ "link_url": null,
51
+ "avatar_url": null
52
+ }
53
+ ],
54
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
55
+ }
@@ -1,5 +1,5 @@
1
1
  ### Submitting Exercises
2
2
 
3
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
3
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
4
4
 
5
5
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
@@ -33,7 +33,7 @@ This exercise requires you to write an extension method. For more information, s
33
33
 
34
34
  ### Submitting Exercises
35
35
 
36
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
36
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
37
37
 
38
38
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
39
39
  ## Source
@@ -10,7 +10,7 @@ like Portable Network Graphics to its acronym (PNG).
10
10
 
11
11
  ### Submitting Exercises
12
12
 
13
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
13
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
14
14
 
15
15
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
16
16
  ## Source
@@ -33,7 +33,7 @@ I think you got the idea!
33
33
 
34
34
  ### Submitting Exercises
35
35
 
36
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
36
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
37
37
 
38
38
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
39
39
 
@@ -35,7 +35,7 @@ This exercise requires you to use bitwise operations. For more information, see
35
35
 
36
36
  ### Submitting Exercises
37
37
 
38
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
38
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
39
39
 
40
40
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
41
41
  ## Source
@@ -40,7 +40,7 @@ Try to find a more sophisticated solution.
40
40
 
41
41
  ### Submitting Exercises
42
42
 
43
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
43
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
44
44
 
45
45
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
46
46
 
@@ -8,7 +8,7 @@ Given `"listen"` and a list of candidates like `"enlists" "google"
8
8
 
9
9
  ### Submitting Exercises
10
10
 
11
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
11
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
12
12
 
13
13
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
14
14
  ## Source
@@ -29,7 +29,7 @@ things based on word boundaries.
29
29
 
30
30
  ### Submitting Exercises
31
31
 
32
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
32
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
33
33
 
34
34
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
35
35
  ## Source
@@ -33,7 +33,7 @@ Note though that you then only store the numeric value of a currency.
33
33
 
34
34
  ### Submitting Exercises
35
35
 
36
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
36
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
37
37
 
38
38
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
39
39
 
@@ -325,7 +325,7 @@ experiment make the code better? Worse? Did you learn anything from it?
325
325
 
326
326
  ### Submitting Exercises
327
327
 
328
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
328
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
329
329
 
330
330
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
331
331
  ## Source
@@ -55,7 +55,7 @@ And if we then added 1, 5, and 7, it would look like this
55
55
 
56
56
  ### Submitting Exercises
57
57
 
58
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
58
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
59
59
 
60
60
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
61
61
  ## Source
@@ -36,7 +36,7 @@ A binary search is a dichotomic divide and conquer search algorithm.
36
36
 
37
37
  ### Submitting Exercises
38
38
 
39
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
39
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
40
40
 
41
41
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
42
42
  ## Source
@@ -13,7 +13,7 @@ He answers 'Whatever.' to anything else.
13
13
 
14
14
  ### Submitting Exercises
15
15
 
16
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
16
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
17
17
 
18
18
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
19
19
  ## Source
@@ -69,7 +69,7 @@ And $51.20 is the price with the biggest discount.
69
69
 
70
70
  ### Submitting Exercises
71
71
 
72
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
72
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
73
73
 
74
74
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
75
75
  ## Source
@@ -48,7 +48,7 @@ support two operations:
48
48
 
49
49
  ### Submitting Exercises
50
50
 
51
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
51
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
52
52
 
53
53
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
54
54
  ## Source
@@ -5,7 +5,7 @@ verify that all the pairs are matched and nested correctly.
5
5
 
6
6
  ### Submitting Exercises
7
7
 
8
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
8
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
9
9
 
10
10
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
11
11
  ## Source
@@ -18,7 +18,7 @@ that the sum of the coins' value would equal the correct amount of change.
18
18
 
19
19
  ### Submitting Exercises
20
20
 
21
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
21
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
22
22
 
23
23
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
24
24
  ## Source
@@ -45,7 +45,7 @@ buffer with:
45
45
 
46
46
  ### Submitting Exercises
47
47
 
48
- Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
48
+ Note that, when trying to submit an exercise, make sure the exercise file that you're submitting is in the `exercism/csharp/<exerciseName>` directory.
49
49
 
50
50
  For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
51
51
  ## Source