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.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/c/README.md +27 -0
- data/tracks/coffeescript/config.json +1 -0
- data/tracks/coldfusion/config.json +1 -1
- data/tracks/crystal/README.md +27 -7
- data/tracks/crystal/config/maintainers.json +25 -0
- data/tracks/crystal/generator/spec/remote_data_file_spec.cr +1 -1
- data/tracks/crystal/generator/src/exercise_generator.cr +1 -1
- data/tracks/crystal/generator/src/remote_data_file.cr +2 -2
- data/tracks/csharp/config.json +1 -2
- data/tracks/csharp/config/maintainers.json +55 -0
- data/tracks/csharp/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/csharp/exercises/accumulate/README.md +1 -1
- data/tracks/csharp/exercises/acronym/README.md +1 -1
- data/tracks/csharp/exercises/all-your-base/README.md +1 -1
- data/tracks/csharp/exercises/allergies/README.md +1 -1
- data/tracks/csharp/exercises/alphametics/README.md +1 -1
- data/tracks/csharp/exercises/anagram/README.md +1 -1
- data/tracks/csharp/exercises/atbash-cipher/README.md +1 -1
- data/tracks/csharp/exercises/bank-account/README.md +1 -1
- data/tracks/csharp/exercises/beer-song/README.md +1 -1
- data/tracks/csharp/exercises/binary-search-tree/README.md +1 -1
- data/tracks/csharp/exercises/binary-search/README.md +1 -1
- data/tracks/csharp/exercises/bob/README.md +1 -1
- data/tracks/csharp/exercises/book-store/README.md +1 -1
- data/tracks/csharp/exercises/bowling/README.md +1 -1
- data/tracks/csharp/exercises/bracket-push/README.md +1 -1
- data/tracks/csharp/exercises/change/README.md +1 -1
- data/tracks/csharp/exercises/circular-buffer/README.md +1 -1
- data/tracks/csharp/exercises/clock/README.md +1 -1
- data/tracks/csharp/exercises/connect/README.md +1 -1
- data/tracks/csharp/exercises/crypto-square/README.md +1 -1
- data/tracks/csharp/exercises/custom-set/README.md +1 -1
- data/tracks/csharp/exercises/diamond/README.md +1 -1
- data/tracks/csharp/exercises/difference-of-squares/README.md +1 -1
- data/tracks/csharp/exercises/diffie-hellman/README.md +1 -1
- data/tracks/csharp/exercises/dominoes/README.md +1 -1
- data/tracks/csharp/exercises/dot-dsl/README.md +1 -1
- data/tracks/csharp/exercises/error-handling/README.md +1 -1
- data/tracks/csharp/exercises/etl/README.md +1 -1
- data/tracks/csharp/exercises/flatten-array/README.md +1 -1
- data/tracks/csharp/exercises/food-chain/README.md +1 -1
- data/tracks/csharp/exercises/forth/README.md +1 -1
- data/tracks/csharp/exercises/gigasecond/README.md +1 -1
- data/tracks/csharp/exercises/go-counting/README.md +1 -1
- data/tracks/csharp/exercises/grade-school/README.md +1 -1
- data/tracks/csharp/exercises/grains/README.md +1 -1
- data/tracks/csharp/exercises/grep/README.md +1 -1
- data/tracks/csharp/exercises/hamming/README.md +1 -1
- data/tracks/csharp/exercises/hangman/README.md +1 -1
- data/tracks/csharp/exercises/hello-world/README.md +1 -1
- data/tracks/csharp/exercises/house/README.md +1 -1
- data/tracks/csharp/exercises/isogram/README.md +1 -1
- data/tracks/csharp/exercises/kindergarten-garden/README.md +1 -1
- data/tracks/csharp/exercises/largest-series-product/README.md +1 -1
- data/tracks/csharp/exercises/leap/README.md +1 -1
- data/tracks/csharp/exercises/ledger/README.md +1 -1
- data/tracks/csharp/exercises/linked-list/README.md +1 -1
- data/tracks/csharp/exercises/list-ops/README.md +1 -1
- data/tracks/csharp/exercises/luhn/README.md +1 -1
- data/tracks/csharp/exercises/markdown/README.md +1 -1
- data/tracks/csharp/exercises/matrix/README.md +1 -1
- data/tracks/csharp/exercises/meetup/README.md +1 -1
- data/tracks/csharp/exercises/minesweeper/README.md +1 -1
- data/tracks/csharp/exercises/nth-prime/README.md +1 -1
- data/tracks/csharp/exercises/nucleotide-count/README.md +1 -1
- data/tracks/csharp/exercises/ocr-numbers/README.md +1 -1
- data/tracks/csharp/exercises/palindrome-products/README.md +1 -1
- data/tracks/csharp/exercises/pangram/README.md +1 -1
- data/tracks/csharp/exercises/parallel-letter-frequency/README.md +1 -1
- data/tracks/csharp/exercises/pascals-triangle/README.md +1 -1
- data/tracks/csharp/exercises/perfect-numbers/README.md +1 -1
- data/tracks/csharp/exercises/phone-number/README.md +1 -1
- data/tracks/csharp/exercises/pig-latin/README.md +1 -1
- data/tracks/csharp/exercises/poker/README.md +1 -1
- data/tracks/csharp/exercises/pov/README.md +1 -1
- data/tracks/csharp/exercises/prime-factors/README.md +1 -1
- data/tracks/csharp/exercises/protein-translation/README.md +1 -1
- data/tracks/csharp/exercises/proverb/README.md +1 -1
- data/tracks/csharp/exercises/pythagorean-triplet/README.md +1 -1
- data/tracks/csharp/exercises/queen-attack/README.md +1 -1
- data/tracks/csharp/exercises/rail-fence-cipher/README.md +1 -1
- data/tracks/csharp/exercises/raindrops/README.md +1 -1
- data/tracks/csharp/exercises/react/README.md +1 -1
- data/tracks/csharp/exercises/rectangles/README.md +1 -1
- data/tracks/csharp/exercises/rna-transcription/README.md +1 -1
- data/tracks/csharp/exercises/robot-name/README.md +1 -1
- data/tracks/csharp/exercises/robot-simulator/README.md +1 -1
- data/tracks/csharp/exercises/roman-numerals/README.md +1 -1
- data/tracks/csharp/exercises/rotational-cipher/README.md +1 -1
- data/tracks/csharp/exercises/run-length-encoding/README.md +1 -1
- data/tracks/csharp/exercises/saddle-points/README.md +1 -1
- data/tracks/csharp/exercises/say/README.md +1 -1
- data/tracks/csharp/exercises/scale-generator/README.md +1 -1
- data/tracks/csharp/exercises/scrabble-score/README.md +1 -1
- data/tracks/csharp/exercises/secret-handshake/README.md +1 -1
- data/tracks/csharp/exercises/series/README.md +1 -1
- data/tracks/csharp/exercises/sgf-parsing/README.md +1 -1
- data/tracks/csharp/exercises/sieve/README.md +1 -1
- data/tracks/csharp/exercises/simple-cipher/README.md +1 -1
- data/tracks/csharp/exercises/simple-linked-list/README.md +1 -1
- data/tracks/csharp/exercises/space-age/README.md +1 -1
- data/tracks/csharp/exercises/strain/README.md +1 -1
- data/tracks/csharp/exercises/sublist/README.md +1 -1
- data/tracks/csharp/exercises/sum-of-multiples/README.md +1 -1
- data/tracks/csharp/exercises/tournament/README.md +1 -1
- data/tracks/csharp/exercises/transpose/README.md +1 -1
- data/tracks/csharp/exercises/tree-building/README.md +1 -1
- data/tracks/csharp/exercises/triangle/README.md +1 -1
- data/tracks/csharp/exercises/twelve-days/README.md +1 -1
- data/tracks/csharp/exercises/two-bucket/README.md +1 -1
- data/tracks/csharp/exercises/variable-length-quantity/README.md +1 -1
- data/tracks/csharp/exercises/word-count/README.md +1 -1
- data/tracks/csharp/exercises/word-search/README.md +1 -1
- data/tracks/csharp/exercises/wordy/README.md +1 -1
- data/tracks/csharp/exercises/zebra-puzzle/README.md +1 -1
- data/tracks/csharp/exercises/zipper/README.md +1 -1
- data/tracks/d/config.json +1 -0
- data/tracks/dart/config/maintainers.json +15 -0
- data/tracks/ecmascript/config.json +76 -193
- data/tracks/ecmascript/exercises/twelve-days/README.md +66 -0
- data/tracks/ecmascript/exercises/twelve-days/example.js +53 -0
- data/tracks/ecmascript/exercises/twelve-days/package.json +68 -0
- data/tracks/ecmascript/exercises/twelve-days/twelve-days.spec.js +106 -0
- data/tracks/factor/config.json +1 -1
- data/tracks/fsharp/config/maintainers.json +35 -0
- data/tracks/go/config.json +82 -38
- data/tracks/go/config/maintainers.json +13 -22
- data/tracks/go/exercises/bowling/cases_test.go +11 -11
- data/tracks/go/exercises/forth/cases_test.go +7 -7
- data/tracks/go/exercises/forth/example.go +1 -1
- data/tracks/go/exercises/forth/forth_test.go +1 -1
- data/tracks/go/exercises/hamming/cases_test.go +7 -7
- data/tracks/go/exercises/hamming/hamming.go +1 -1
- data/tracks/go/exercises/phone-number/cases_test.go +2 -7
- data/tracks/go/exercises/phone-number/example.go +1 -1
- data/tracks/go/exercises/phone-number/phone_number_test.go +1 -1
- data/tracks/go/exercises/rna-transcription/cases_test.go +7 -7
- data/tracks/go/exercises/secret-handshake/cases_test.go +1 -1
- data/tracks/groovy/config.json +1 -0
- data/tracks/haxe/config.json +1 -1
- data/tracks/java/.travis.yml +1 -1
- data/tracks/java/config/maintainers.json +20 -0
- data/tracks/java/exercises/custom-set/src/test/java/CustomSetTest.java +1 -1
- data/tracks/java/exercises/word-count/src/test/java/WordCountTest.java +1 -1
- data/tracks/javascript/config.json +229 -247
- data/tracks/kotlin/config/maintainers.json +35 -0
- data/tracks/lfe/config/maintainers.json +15 -0
- data/tracks/lisp/config/maintainers.json +55 -0
- data/tracks/ocaml/config.json +0 -5
- data/tracks/ocaml/config/maintainers.json +25 -0
- data/tracks/perl5/config/maintainers.json +25 -0
- data/tracks/perl6/config/maintainers.json +25 -0
- data/tracks/pony/config/maintainers.json +15 -0
- data/tracks/pony/exercises/atbash-cipher/example.pony +2 -2
- data/tracks/pony/exercises/beer-song/example.pony +1 -1
- data/tracks/pony/exercises/bob/example.pony +1 -1
- data/tracks/pony/exercises/difference-of-squares/example.pony +1 -1
- data/tracks/pony/exercises/hamming/test.pony +12 -12
- data/tracks/pony/exercises/pascals-triangle/example.pony +1 -1
- data/tracks/pony/exercises/pascals-triangle/test.pony +6 -6
- data/tracks/pony/exercises/rna-transcription/test.pony +3 -3
- data/tracks/pony/exercises/roman-numerals/test.pony +3 -3
- data/tracks/purescript/config/maintainers.json +35 -0
- data/tracks/r/config.json +140 -81
- data/tracks/r/exercises/collatz-conjecture/README.md +43 -0
- data/tracks/r/exercises/collatz-conjecture/collatz-conjecture.R +3 -0
- data/tracks/r/exercises/collatz-conjecture/example.R +13 -0
- data/tracks/r/exercises/collatz-conjecture/test_collatz-conjecture.R +28 -0
- data/tracks/r/exercises/nucleotide-count/README.md +43 -0
- data/tracks/r/exercises/nucleotide-count/example.R +17 -0
- data/tracks/r/exercises/nucleotide-count/nucleotide-count.R +3 -0
- data/tracks/r/exercises/nucleotide-count/test_nucleotide-count.R +51 -0
- data/tracks/r/exercises/pangram/README.md +25 -0
- data/tracks/r/exercises/pangram/example.R +14 -0
- data/tracks/r/exercises/pangram/pangram.R +3 -0
- data/tracks/r/exercises/pangram/test_pangram.R +42 -0
- data/tracks/r/exercises/triangle/.meta/hints.md +4 -0
- data/tracks/r/exercises/triangle/README.md +41 -0
- data/tracks/r/exercises/triangle/example.R +23 -0
- data/tracks/r/exercises/triangle/test_triangle.R +72 -0
- data/tracks/r/exercises/triangle/triangle.R +3 -0
- data/tracks/rust/config.json +32 -1
- data/tracks/rust/config/maintainers.json +1 -6
- data/tracks/rust/exercises/acronym/tests/acronym.rs +1 -1
- data/tracks/rust/exercises/beer-song/example.rs +1 -1
- data/tracks/rust/exercises/circular-buffer/example.rs +8 -10
- data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +2 -2
- data/tracks/rust/exercises/clock/.meta/hints.md +10 -0
- data/tracks/rust/exercises/clock/Cargo.lock +4 -0
- data/tracks/rust/exercises/clock/Cargo.toml +6 -0
- data/tracks/rust/exercises/clock/README.md +57 -0
- data/tracks/rust/exercises/clock/example.rs +32 -0
- data/tracks/{ocaml/exercises/point-mutations/example.ml → rust/exercises/clock/src/lib.rs} +0 -0
- data/tracks/rust/exercises/clock/tests/clock.rs +331 -0
- data/tracks/rust/exercises/custom-set/tests/custom-set.rs +3 -3
- data/tracks/rust/exercises/dominoes/example.rs +1 -1
- data/tracks/rust/exercises/grade-school/example.rs +1 -1
- data/tracks/rust/exercises/hamming/example.rs +1 -1
- data/tracks/rust/exercises/nth-prime/Cargo.lock +4 -0
- data/tracks/rust/exercises/nth-prime/Cargo.toml +6 -0
- data/tracks/rust/exercises/nth-prime/README.md +47 -0
- data/tracks/rust/exercises/nth-prime/example.rs +28 -0
- data/tracks/rust/exercises/nth-prime/src/lib.rs +0 -0
- data/tracks/rust/exercises/nth-prime/tests/nth-prime.rs +30 -0
- data/tracks/rust/exercises/parallel-letter-frequency/example.rs +1 -1
- data/tracks/rust/exercises/phone-number/example.rs +1 -1
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.lock +4 -0
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.toml +6 -0
- data/tracks/rust/exercises/pythagorean-triplet/README.md +56 -0
- data/tracks/rust/exercises/pythagorean-triplet/example.rs +11 -0
- data/tracks/rust/exercises/pythagorean-triplet/src/lib.rs +0 -0
- data/tracks/rust/exercises/pythagorean-triplet/tests/pythagorean-triplet.rs +6 -0
- data/tracks/rust/exercises/rna-transcription/tests/rna-transcription.rs +1 -1
- data/tracks/rust/exercises/robot-name/tests/robot-name.rs +2 -2
- data/tracks/rust/exercises/say/example.rs +4 -4
- data/tracks/rust/exercises/say/tests/say.rs +4 -4
- data/tracks/rust/exercises/tournament/example.rs +2 -2
- data/tracks/scala/config/maintainers.json +10 -6
- data/tracks/scala/exercises/bracket-push/example.scala +2 -2
- data/tracks/scala/exercises/bracket-push/src/test/scala/BracketPushTest.scala +74 -0
- data/tracks/scala/exercises/crypto-square/example.scala +9 -9
- data/tracks/scala/exercises/crypto-square/src/test/scala/CryptoSquareTest.scala +33 -41
- data/tracks/scala/testgen/src/main/scala/BracketPushTestGenerator.scala +9 -38
- data/tracks/scala/testgen/src/main/scala/CryptoSquareTestGenerator.scala +17 -0
- data/tracks/sml/config.json +1 -1
- data/tracks/swift/config/maintainers.json +35 -0
- data/tracks/swift/docs/ABOUT.md +15 -5
- data/tracks/vimscript/config/maintainers.json +35 -0
- metadata +58 -8
- data/tracks/ocaml/exercises/point-mutations/Makefile +0 -8
- data/tracks/ocaml/exercises/point-mutations/README.md +0 -81
- data/tracks/ocaml/exercises/point-mutations/dna.mli +0 -6
- data/tracks/scala/exercises/bracket-push/src/test/scala/BracketsTest.scala +0 -68
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32b3024c5c1eae3a8430dc5ff9b30dd89482b992
|
4
|
+
data.tar.gz: 81c39cf9c83b10b547105c0977d37a6789aa6208
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59807cc0f318f2e45f868bbad1c6f2c3638b33acd0269cc91b64498f3a502c67acc492db5b2e10439e77b0957b2ce461fd087ccc8b6ace3ad147892c5d5a067d
|
7
|
+
data.tar.gz: 20c53bb897465d30cc7dc5d27582b4eb4dc17e912422c2323ccce6995b56662f1d843fb0c8ebde964c71e1b9d03a6df9f9417297d109ab3881995517f9d2bfaf
|
data/lib/trackler/version.rb
CHANGED
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
|
data/tracks/crystal/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
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
|
-
|
31
|
+
There are two ways for the generator to get the test data.
|
32
32
|
|
33
|
-
|
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/
|
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
|
-
$
|
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
|
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
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require "http/client"
|
2
2
|
|
3
3
|
class RemoteDataFile
|
4
|
-
BASE_URL = "https://raw.githubusercontent.com/exercism/
|
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
|
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... " +
|
data/tracks/csharp/config.json
CHANGED
@@ -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|