trackler 2.2.0.0 → 2.2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/CONTRIBUTING.md +1 -1
  4. data/tracks/bash/.travis.yml +1 -1
  5. data/tracks/bash/config.json +30 -3
  6. data/tracks/c/README.md +1 -1
  7. data/tracks/c/config.json +131 -39
  8. data/tracks/ceylon/README.md +6 -6
  9. data/tracks/ceylon/config.json +21 -3
  10. data/tracks/chapel/.travis.yml +1 -1
  11. data/tracks/clojurescript/.travis.yml +1 -1
  12. data/tracks/clojurescript/README.md +6 -6
  13. data/tracks/clojurescript/exercises/.keep +0 -0
  14. data/tracks/coffeescript/.travis.yml +1 -1
  15. data/tracks/coldfusion/.travis.yml +1 -1
  16. data/tracks/coq/.travis.yml +1 -1
  17. data/tracks/cpp/CMakeLists.txt +1 -0
  18. data/tracks/cpp/README.md +1 -1
  19. data/tracks/cpp/config.json +8 -0
  20. data/tracks/cpp/exercises/atbash-cipher/CMakeLists.txt +52 -0
  21. data/tracks/cpp/exercises/atbash-cipher/atbash_cipher_test.cpp +68 -0
  22. data/tracks/cpp/exercises/atbash-cipher/example.cpp +54 -0
  23. data/tracks/cpp/exercises/atbash-cipher/example.h +13 -0
  24. data/tracks/csharp/config.json +315 -6
  25. data/tracks/d/.travis.yml +1 -1
  26. data/tracks/dart/README.md +2 -2
  27. data/tracks/dart/config.json +21 -3
  28. data/tracks/delphi/README.md +1 -1
  29. data/tracks/delphi/config.json +83 -1
  30. data/tracks/ecmascript/config.json +10 -0
  31. data/tracks/ecmascript/exercises/accumulate/accumulate.spec.js +3 -9
  32. data/tracks/ecmascript/exercises/acronym/acronym.spec.js +2 -2
  33. data/tracks/ecmascript/exercises/all-your-base/all-your-base.spec.js +131 -133
  34. data/tracks/ecmascript/exercises/all-your-base/example.js +1 -3
  35. data/tracks/ecmascript/exercises/allergies/allergies.spec.js +8 -10
  36. data/tracks/ecmascript/exercises/allergies/example.js +3 -5
  37. data/tracks/ecmascript/exercises/alphametics/alphametics.spec.js +61 -63
  38. data/tracks/ecmascript/exercises/alphametics/example.js +99 -99
  39. data/tracks/ecmascript/exercises/anagram/anagram.spec.js +35 -37
  40. data/tracks/ecmascript/exercises/anagram/example.js +1 -3
  41. data/tracks/ecmascript/exercises/atbash-cipher/atbash-cipher.spec.js +1 -3
  42. data/tracks/ecmascript/exercises/atbash-cipher/example.js +3 -3
  43. data/tracks/ecmascript/exercises/beer-song/beer-song.spec.js +0 -2
  44. data/tracks/ecmascript/exercises/beer-song/example.js +9 -9
  45. data/tracks/ecmascript/exercises/binary/binary.spec.js +1 -2
  46. data/tracks/ecmascript/exercises/binary/example.js +3 -3
  47. data/tracks/ecmascript/exercises/binary-search/binary-search.spec.js +1 -3
  48. data/tracks/ecmascript/exercises/binary-search-tree/binary-search-tree.spec.js +13 -15
  49. data/tracks/ecmascript/exercises/binary-search-tree/example.js +2 -2
  50. data/tracks/ecmascript/exercises/bob/bob.spec.js +1 -3
  51. data/tracks/ecmascript/exercises/bob/example.js +3 -3
  52. data/tracks/ecmascript/exercises/bracket-push/example.js +2 -2
  53. data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +10 -12
  54. data/tracks/ecmascript/exercises/circular-buffer/example.js +12 -11
  55. data/tracks/ecmascript/exercises/clock/clock.spec.js +0 -8
  56. data/tracks/ecmascript/exercises/clock/example.js +11 -11
  57. data/tracks/ecmascript/exercises/connect/connect.spec.js +75 -77
  58. data/tracks/ecmascript/exercises/connect/example.js +27 -29
  59. data/tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js +11 -11
  60. data/tracks/ecmascript/exercises/crypto-square/example.js +11 -10
  61. data/tracks/ecmascript/exercises/custom-set/custom-set.spec.js +2 -4
  62. data/tracks/ecmascript/exercises/custom-set/example.js +1 -1
  63. data/tracks/ecmascript/exercises/diamond/diamond.spec.js +20 -21
  64. data/tracks/ecmascript/exercises/diamond/example.js +12 -13
  65. data/tracks/ecmascript/exercises/difference-of-squares/difference-of-squares.spec.js +0 -5
  66. data/tracks/ecmascript/exercises/diffie-hellman/diffie-hellman.spec.js +7 -28
  67. data/tracks/ecmascript/exercises/etl/etl.spec.js +36 -18
  68. data/tracks/ecmascript/exercises/etl/example.js +3 -3
  69. data/tracks/ecmascript/exercises/flatten-array/example.js +1 -1
  70. data/tracks/ecmascript/exercises/flatten-array/flatten-array.spec.js +2 -3
  71. data/tracks/ecmascript/exercises/food-chain/example.js +12 -12
  72. data/tracks/ecmascript/exercises/food-chain/food-chain.spec.js +0 -1
  73. data/tracks/ecmascript/exercises/gigasecond/example.js +1 -1
  74. data/tracks/ecmascript/exercises/gigasecond/gigasecond.spec.js +0 -1
  75. data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +18 -19
  76. data/tracks/ecmascript/exercises/grains/grains.spec.js +0 -1
  77. data/tracks/ecmascript/exercises/hamming/example.js +3 -3
  78. data/tracks/ecmascript/exercises/hamming/hamming.spec.js +5 -6
  79. data/tracks/ecmascript/exercises/hello-world/example.js +1 -1
  80. data/tracks/ecmascript/exercises/hello-world/hello-world.spec.js +1 -1
  81. data/tracks/ecmascript/exercises/hexadecimal/example.js +2 -2
  82. data/tracks/ecmascript/exercises/hexadecimal/hexadecimal.spec.js +9 -11
  83. data/tracks/ecmascript/exercises/isogram/isogram.spec.js +22 -23
  84. data/tracks/ecmascript/exercises/kindergarten-garden/example.js +7 -7
  85. data/tracks/ecmascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +0 -5
  86. data/tracks/ecmascript/exercises/largest-series-product/example.js +4 -8
  87. data/tracks/ecmascript/exercises/largest-series-product/largest-series-product.spec.js +5 -7
  88. data/tracks/ecmascript/exercises/leap/leap.spec.js +4 -6
  89. data/tracks/ecmascript/exercises/linked-list/example.js +2 -2
  90. data/tracks/ecmascript/exercises/list-ops/example.js +19 -19
  91. data/tracks/ecmascript/exercises/list-ops/list-ops.spec.js +2 -18
  92. data/tracks/ecmascript/exercises/luhn/example.js +1 -1
  93. data/tracks/ecmascript/exercises/luhn/luhn.spec.js +1 -3
  94. data/tracks/ecmascript/exercises/matrix/example.js +2 -4
  95. data/tracks/ecmascript/exercises/matrix/matrix.spec.js +0 -2
  96. data/tracks/ecmascript/exercises/meetup/example.js +12 -15
  97. data/tracks/ecmascript/exercises/meetup/meetup.spec.js +0 -2
  98. data/tracks/ecmascript/exercises/minesweeper/example.js +60 -0
  99. data/tracks/ecmascript/exercises/minesweeper/minesweeper.spec.js +174 -0
  100. data/tracks/ecmascript/exercises/minesweeper/package.json +69 -0
  101. data/tracks/ecmascript/exercises/nth-prime/example.js +3 -2
  102. data/tracks/ecmascript/exercises/nth-prime/nth-prime.spec.js +0 -1
  103. data/tracks/ecmascript/exercises/ocr-numbers/example.js +3 -3
  104. data/tracks/ecmascript/exercises/ocr-numbers/ocr-numbers.spec.js +16 -18
  105. data/tracks/ecmascript/exercises/octal/example.js +1 -1
  106. data/tracks/ecmascript/exercises/octal/octal.spec.js +0 -2
  107. data/tracks/ecmascript/exercises/palindrome-products/example.js +14 -11
  108. data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.spec.js +15 -18
  109. data/tracks/ecmascript/exercises/pangram/example.js +6 -5
  110. data/tracks/ecmascript/exercises/pangram/pangram.spec.js +10 -12
  111. data/tracks/ecmascript/exercises/pascals-triangle/example.js +2 -2
  112. data/tracks/ecmascript/exercises/pascals-triangle/pascals-triangle.spec.js +6 -8
  113. data/tracks/ecmascript/exercises/perfect-numbers/example.js +3 -5
  114. data/tracks/ecmascript/exercises/perfect-numbers/perfect-numbers.spec.js +0 -10
  115. data/tracks/ecmascript/exercises/phone-number/example.js +2 -2
  116. data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +0 -2
  117. data/tracks/ecmascript/exercises/pig-latin/example.js +4 -4
  118. data/tracks/ecmascript/exercises/pig-latin/pig-latin.spec.js +0 -1
  119. data/tracks/ecmascript/exercises/prime-factors/example.js +2 -2
  120. data/tracks/ecmascript/exercises/prime-factors/prime-factors.spec.js +0 -2
  121. data/tracks/ecmascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +3 -11
  122. data/tracks/ecmascript/exercises/queen-attack/example.js +17 -17
  123. data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +7 -8
  124. data/tracks/ecmascript/exercises/raindrops/example.js +1 -1
  125. data/tracks/ecmascript/exercises/raindrops/raindrops.spec.js +1 -2
  126. data/tracks/ecmascript/exercises/rna-transcription/example.js +5 -5
  127. data/tracks/ecmascript/exercises/rna-transcription/rna-transcription.spec.js +4 -5
  128. data/tracks/ecmascript/exercises/robot-name/example.js +6 -6
  129. data/tracks/ecmascript/exercises/robot-name/robot-name.spec.js +10 -11
  130. data/tracks/ecmascript/exercises/robot-simulator/example.js +1 -1
  131. data/tracks/ecmascript/exercises/robot-simulator/robot-simulator.spec.js +31 -32
  132. data/tracks/ecmascript/exercises/roman-numerals/example.js +16 -16
  133. data/tracks/ecmascript/exercises/saddle-points/saddle-points.spec.js +3 -3
  134. data/tracks/ecmascript/exercises/say/example.js +25 -25
  135. data/tracks/ecmascript/exercises/say/say.spec.js +2 -3
  136. data/tracks/ecmascript/exercises/scrabble-score/example.js +27 -9
  137. data/tracks/ecmascript/exercises/scrabble-score/scrabble-score.spec.js +6 -7
  138. data/tracks/ecmascript/exercises/secret-handshake/example.js +2 -3
  139. data/tracks/ecmascript/exercises/secret-handshake/secret-handshake.spec.js +3 -5
  140. data/tracks/ecmascript/exercises/series/series.spec.js +1 -3
  141. data/tracks/ecmascript/exercises/sieve/example.js +4 -3
  142. data/tracks/ecmascript/exercises/sieve/sieve.spec.js +0 -2
  143. data/tracks/ecmascript/exercises/simple-cipher/example.js +8 -9
  144. data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +4 -4
  145. data/tracks/ecmascript/exercises/space-age/example.js +1 -1
  146. data/tracks/ecmascript/exercises/space-age/space-age.spec.js +9 -11
  147. data/tracks/ecmascript/exercises/strain/example.js +4 -4
  148. data/tracks/ecmascript/exercises/strain/strain.spec.js +14 -16
  149. data/tracks/ecmascript/exercises/sum-of-multiples/example.js +4 -4
  150. data/tracks/ecmascript/exercises/triangle/triangle.spec.js +2 -4
  151. data/tracks/ecmascript/exercises/trinary/example.js +3 -3
  152. data/tracks/ecmascript/exercises/trinary/trinary.spec.js +0 -2
  153. data/tracks/ecmascript/exercises/two-bucket/example.js +30 -27
  154. data/tracks/ecmascript/exercises/two-bucket/two-bucket.spec.js +4 -8
  155. data/tracks/ecmascript/exercises/word-count/example.js +2 -2
  156. data/tracks/ecmascript/exercises/word-count/word-count.spec.js +2 -3
  157. data/tracks/ecmascript/exercises/wordy/example.js +6 -6
  158. data/tracks/ecmascript/exercises/wordy/wordy.spec.js +2 -4
  159. data/tracks/factor/config.json +15 -6
  160. data/tracks/fortran/.travis.yml +1 -1
  161. data/tracks/fsharp/config.json +312 -10
  162. data/tracks/go/README.md +1 -1
  163. data/tracks/go/config.json +523 -155
  164. data/tracks/haskell/README.md +2 -2
  165. data/tracks/haskell/config.json +256 -7
  166. data/tracks/haxe/.travis.yml +1 -1
  167. data/tracks/haxe/Makefile +2 -2
  168. data/tracks/haxe/config.json +8 -5
  169. data/tracks/java/CONTRIBUTING.md +2 -2
  170. data/tracks/java/config.json +277 -17
  171. data/tracks/java/exercises/rotational-cipher/build.gradle +17 -0
  172. data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +37 -0
  173. data/tracks/java/exercises/rotational-cipher/src/main/java/.keep +0 -0
  174. data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +81 -0
  175. data/tracks/java/exercises/settings.gradle +1 -0
  176. data/tracks/java/exercises/twelve-days/src/main/java/TwelveDays.java +4 -0
  177. data/tracks/julia/.travis.yml +1 -1
  178. data/tracks/julia/README.md +1 -1
  179. data/tracks/kotlin/README.md +2 -2
  180. data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +3 -3
  181. data/tracks/lisp/config.json +97 -3
  182. data/tracks/lisp/exercises/pascals-triangle/example.lisp +21 -0
  183. data/tracks/lisp/exercises/pascals-triangle/pascal.lisp +7 -0
  184. data/tracks/lisp/exercises/pascals-triangle/pascals-triangle-test.lisp +34 -0
  185. data/tracks/lua/.travis.yml +1 -1
  186. data/tracks/lua/README.md +1 -1
  187. data/tracks/mips/.travis.yml +1 -1
  188. data/tracks/mips/config.json +56 -17
  189. data/tracks/nasm/.travis.yml +1 -1
  190. data/tracks/nim/.travis.yml +1 -1
  191. data/tracks/ocaml/README.md +3 -3
  192. data/tracks/ocaml/config.json +130 -4
  193. data/tracks/perl5/docs/TESTS.md +40 -26
  194. data/tracks/plsql/.travis.yml +1 -1
  195. data/tracks/plsql/config.json +40 -13
  196. data/tracks/pony/.travis.yml +1 -1
  197. data/tracks/pony/bin/install-deps +4 -3
  198. data/tracks/prolog/.travis.yml +1 -1
  199. data/tracks/r/README.md +5 -5
  200. data/tracks/r/config.json +102 -30
  201. data/tracks/rust/.travis.yml +1 -1
  202. data/tracks/rust/config.json +172 -4
  203. data/tracks/rust/docs/EXERCISE_README_INSERT.md +1 -1
  204. data/tracks/sml/config.json +26 -3
  205. data/tracks/vimscript/config.json +60 -3
  206. metadata +16 -1
@@ -1,34 +1,48 @@
1
- Execute tests with:
1
+ ## Run All Tests
2
2
 
3
- ```bash
4
- $ prove bob.t
5
- ```
3
+ There is a Perl 5 script with the extension `.t`, which will be used to test
4
+ your solution. You can run through the tests by using the command:
5
+
6
+ `prove .`
6
7
 
7
- ## Creating Your First Perl5 Module
8
+ Before you start the exercise, the output will likely look something like:
8
9
 
9
- In order to have your solution work correctly with the test specification,
10
- you'll need to create a Perl module. To get started, create a file in the
11
- perl5 directory called "Bob.pm", with the following contents:
10
+ ```
11
+ ./hello-world.t .. 1/4
12
+ # Failed test 'Say Hi!'
13
+ # at ./hello-world.t line 33.
14
+ # got: undef
15
+ # expected: 'Hello, World!'
16
+ # Looks like you failed 1 test of 4.
17
+ ./hello-world.t .. Dubious, test returned 1 (wstat 256, 0x100)
18
+ Failed 1/4 subtests
19
+ (less 1 skipped subtest: 2 okay)
20
+
21
+ Test Summary Report
22
+ -------------------
23
+ ./hello-world.t (Wstat: 256 Tests: 4 Failed: 1)
24
+ Failed test: 3
25
+ Non-zero exit status: 1
26
+ Files=1, Tests=4, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.08 cusr 0.01 csys = 0.12 CPU)
27
+ Result: FAIL
28
+ ```
29
+ You will either need to modify or create a module with the extension `.pm`, and
30
+ write a solution to pass the tests. Once the tests are passing, the output from
31
+ the command above will likely look something like:
12
32
 
13
- ```bash
14
- package Bob;
33
+ ```
34
+ ./hello-world.t .. ok
35
+ All tests successful.
36
+ Files=1, Tests=4, 1 wallclock secs ( 0.01 usr 0.00 sys + 0.49 cusr 0.06 csys = 0.56 CPU)
37
+ Result: PASS
38
+ ```
15
39
 
16
- use strict;
17
- use Exporter;
18
- use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
40
+ Some exercises may have optional tests. You can test for these by adding the
41
+ flag `-v` (for 'verbose') to the above command, like so:
19
42
 
20
- $VERSION = 1.00;
21
- @ISA = qw(Exporter);
22
- @EXPORT = ();
23
- @EXPORT_OK = qw(hey);
24
- %EXPORT_TAGS = ( DEFAULT => [qw(&hey)],
25
- );
43
+ `prove . -v`
26
44
 
27
- sub hey {
28
- #
29
- # Your Perl solution goes here
30
- #
31
- }
45
+ As well as showing optional tests, it will include all of the tests that your solution currently passes.
32
46
 
33
- 1;
34
- ````
47
+ You can find a more in-depth explanation of the `Test::More` module on
48
+ [perldoc](http://perldoc.perl.org/Test/More.html#I%27m-ok%2c-you%27re-not-ok.).
@@ -2,5 +2,5 @@
2
2
  language: bash
3
3
  script:
4
4
  - bin/fetch-configlet
5
- - bin/configlet .
5
+ - bin/configlet lint .
6
6
  sudo: false
@@ -4,79 +4,106 @@
4
4
  "repository": "https://github.com/exercism/plsql",
5
5
  "active": true,
6
6
  "test_pattern": "ut.*plsql",
7
- "deprecated": [
8
-
9
- ],
10
7
  "foregone": [
11
8
 
12
9
  ],
13
10
  "exercises": [
14
11
  {
15
- "difficulty": 1,
12
+ "uuid": "b779f211-ecec-45cc-8641-e7cf87ff66ce",
16
13
  "slug": "hamming",
14
+ "core": false,
15
+ "unlocked_by": null,
16
+ "difficulty": 1,
17
17
  "topics": [
18
18
 
19
19
  ]
20
20
  },
21
21
  {
22
- "difficulty": 1,
22
+ "uuid": "6722fe30-30d2-4e99-87de-03b1a6eee0d6",
23
23
  "slug": "gigasecond",
24
+ "core": false,
25
+ "unlocked_by": null,
26
+ "difficulty": 1,
24
27
  "topics": [
25
28
 
26
29
  ]
27
30
  },
28
31
  {
29
- "difficulty": 1,
32
+ "uuid": "eec6c29b-fbbb-48d5-a0e9-4c902281390e",
30
33
  "slug": "rna-transcription",
34
+ "core": false,
35
+ "unlocked_by": null,
36
+ "difficulty": 1,
31
37
  "topics": [
32
38
 
33
39
  ]
34
40
  },
35
41
  {
36
- "difficulty": 1,
42
+ "uuid": "2eaf11fe-e56e-4512-b8af-8fb637582a5e",
37
43
  "slug": "raindrops",
44
+ "core": false,
45
+ "unlocked_by": null,
46
+ "difficulty": 1,
38
47
  "topics": [
39
48
 
40
49
  ]
41
50
  },
42
51
  {
43
- "difficulty": 1,
52
+ "uuid": "f630b17b-59c1-448b-8880-85bb0c72ba5a",
44
53
  "slug": "difference-of-squares",
54
+ "core": false,
55
+ "unlocked_by": null,
56
+ "difficulty": 1,
45
57
  "topics": [
46
58
 
47
59
  ]
48
60
  },
49
61
  {
50
- "difficulty": 1,
62
+ "uuid": "fc75b71e-e3e6-43b2-940b-65c06a6f9bc5",
51
63
  "slug": "roman-numerals",
64
+ "core": false,
65
+ "unlocked_by": null,
66
+ "difficulty": 1,
52
67
  "topics": [
53
68
 
54
69
  ]
55
70
  },
56
71
  {
57
- "difficulty": 1,
72
+ "uuid": "bede5fe0-43bf-4483-9fc3-7030df042515",
58
73
  "slug": "nth-prime",
74
+ "core": false,
75
+ "unlocked_by": null,
76
+ "difficulty": 1,
59
77
  "topics": [
60
78
 
61
79
  ]
62
80
  },
63
81
  {
64
- "difficulty": 1,
82
+ "uuid": "50e2a7c5-3f71-448d-b203-65b7c0e3d6d5",
65
83
  "slug": "leap",
84
+ "core": false,
85
+ "unlocked_by": null,
86
+ "difficulty": 1,
66
87
  "topics": [
67
88
 
68
89
  ]
69
90
  },
70
91
  {
71
- "difficulty": 1,
92
+ "uuid": "1d661c32-c75d-4c0b-bf88-ed0112bb1ab2",
72
93
  "slug": "grains",
94
+ "core": false,
95
+ "unlocked_by": null,
96
+ "difficulty": 1,
73
97
  "topics": [
74
98
 
75
99
  ]
76
100
  },
77
101
  {
78
- "difficulty": 1,
102
+ "uuid": "6277f225-5d28-45f1-b020-9b821150ecfe",
79
103
  "slug": "binary",
104
+ "core": false,
105
+ "unlocked_by": null,
106
+ "difficulty": 1,
80
107
  "topics": [
81
108
 
82
109
  ]
@@ -7,5 +7,5 @@ install:
7
7
 
8
8
  script:
9
9
  - bin/fetch-configlet
10
- - bin/configlet .
10
+ - bin/configlet lint .
11
11
  - bin/test-exercises
@@ -5,8 +5,8 @@ sudo apt-get install -y python-software-properties
5
5
  sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
6
6
  sudo apt-get update -q
7
7
  sudo apt-get install -y \
8
- wget git apt-transport-https g++-5 build-essential \
9
- zlib1g-dev libncurses5-dev libssl-dev llvm-3.8
8
+ wget git apt-transport-https clang-3.9 build-essential \
9
+ zlib1g-dev libncurses5-dev libssl-dev llvm-3.9
10
10
 
11
11
  # Install pcre2 (uncomment if regex package is ever used)
12
12
  # wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.21.tar.bz2
@@ -16,4 +16,5 @@ sudo apt-get install -y \
16
16
 
17
17
  # Insall ponyc
18
18
  git clone "https://github.com/ponylang/ponyc"
19
- cd ponyc && make && sudo make install && cd -
19
+ git checkout release
20
+ cd ponyc && make CC=clang-3.9 CXX=clang++-3.9 && sudo make install && cd -
@@ -8,5 +8,5 @@ before_script:
8
8
 
9
9
  script:
10
10
  - bin/fetch-configlet
11
- - bin/configlet .
11
+ - bin/configlet lint .
12
12
  - bin/build.sh
data/tracks/r/README.md CHANGED
@@ -30,7 +30,7 @@ If stuck or in doubt just ask! We try our best to be friendly and helpful, so do
30
30
  - [gitter dev](https://gitter.im/exercism/dev): technical questions.
31
31
 
32
32
  ### How to contribute
33
- As a first step we recommend you read the [contributing guide](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md).
33
+ As a first step we recommend you read the [contributing guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
34
34
 
35
35
  #### Reporting or fixing bugs
36
36
  Typical examples for a bug: A typo, a missing test case, an unclear or ambiguous problem description.
@@ -43,15 +43,15 @@ If you have a dedicated opinion you are welcome to [write a comment](https://hel
43
43
  Please be detailed and include motivations or relevant links to support your opinion.
44
44
 
45
45
  #### Porting exercises
46
- Here is the [list of missing exercises](http://exercism.io/languages/r/todo). See here for more information about [porting an exercise](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#porting-an-exercise-to-another-language-track).
46
+ Here is the [list of missing exercises](http://exercism.io/languages/r/todo). See here for more information about [porting an exercise](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#porting-an-exercise-to-another-language-track).
47
47
  Of course you can also add a totally new exercise, but it might be a good idea to first discuss it in one of [our forums](#asking-for-help).
48
48
 
49
49
  #### Updating an exercise test suite
50
- Updating the test suite of an existing exercise is a special case because it usually affects all languages. Read more about it [here](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#updating-an-exercise-test-suite).
50
+ Updating the test suite of an existing exercise is a special case because it usually affects all languages. Read more about it [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#updating-an-exercise-test-suite).
51
51
  Note that the test suite must run within a couple of seconds.
52
52
 
53
53
  ### Repository structure and conventions
54
- A general description of all the files and directories can be found [here](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#track-anatomy).
54
+ A general description of all the files and directories can be found [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#track-anatomy).
55
55
 
56
56
  #### Directory structure
57
57
  ```bash
@@ -99,7 +99,7 @@ Each exercise has the following structure:
99
99
  To report a bug you should [create an issue](https://help.github.com/articles/creating-an-issue/) [here](https://github.com/exercism/xr/issues).
100
100
 
101
101
  ### Writing a pull request
102
- To fix a bug you should [create a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) [here](https://github.com/exercism/xr/pulls). See also [here](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#git-basics) for more information.
102
+ To fix a bug you should [create a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) [here](https://github.com/exercism/xr/pulls). See also [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#git-basics) for more information.
103
103
 
104
104
  ### Development dependencies
105
105
  You'll need to have a recent version of [R](https://cran.r-project.org/) installed on your system, as well as the `testthat` package (run `install.packages('testthat')` from the R console to install) in order to run tests.
data/tracks/r/config.json CHANGED
@@ -4,184 +4,256 @@
4
4
  "repository": "https://github.com/exercism/r",
5
5
  "checklist_issue": 5,
6
6
  "active": false,
7
- "deprecated": [
8
-
9
- ],
10
7
  "foregone": [
11
8
 
12
9
  ],
13
10
  "exercises": [
14
11
  {
15
- "difficulty": 1,
12
+ "uuid": "285404a4-d8f8-469d-b183-920b08ba2430",
16
13
  "slug": "hello-world",
14
+ "core": false,
15
+ "unlocked_by": null,
16
+ "difficulty": 1,
17
17
  "topics": [
18
18
 
19
19
  ]
20
20
  },
21
21
  {
22
- "difficulty": 1,
22
+ "uuid": "4be11d9f-db6a-4edd-af35-7d33d2dc9c0f",
23
23
  "slug": "leap",
24
+ "core": false,
25
+ "unlocked_by": null,
26
+ "difficulty": 1,
24
27
  "topics": [
25
28
 
26
29
  ]
27
30
  },
28
31
  {
29
- "difficulty": 1,
32
+ "uuid": "da01ce65-8c7d-4646-ace4-c067d92f656b",
30
33
  "slug": "bob",
34
+ "core": false,
35
+ "unlocked_by": null,
36
+ "difficulty": 1,
31
37
  "topics": [
32
38
 
33
39
  ]
34
40
  },
35
41
  {
36
- "difficulty": 1,
42
+ "uuid": "dcc7171a-6b7d-4749-a300-a7270a095486",
37
43
  "slug": "hamming",
44
+ "core": false,
45
+ "unlocked_by": null,
46
+ "difficulty": 1,
38
47
  "topics": [
39
48
 
40
49
  ]
41
50
  },
42
51
  {
43
- "difficulty": 1,
52
+ "uuid": "12e17ede-ff59-45d1-8c66-b07b7ede5702",
44
53
  "slug": "rna-transcription",
54
+ "core": false,
55
+ "unlocked_by": null,
56
+ "difficulty": 1,
45
57
  "topics": [
46
58
 
47
59
  ]
48
60
  },
49
61
  {
50
- "difficulty": 1,
62
+ "uuid": "6a562684-5938-4ad9-b042-7b44a8cc4561",
51
63
  "slug": "difference-of-squares",
64
+ "core": false,
65
+ "unlocked_by": null,
66
+ "difficulty": 1,
52
67
  "topics": [
53
68
 
54
69
  ]
55
70
  },
56
71
  {
57
- "difficulty": 1,
72
+ "uuid": "955604ef-266f-42c9-abde-ce0fdc2d33ad",
58
73
  "slug": "raindrops",
74
+ "core": false,
75
+ "unlocked_by": null,
76
+ "difficulty": 1,
59
77
  "topics": [
60
78
 
61
79
  ]
62
80
  },
63
81
  {
64
- "difficulty": 1,
82
+ "uuid": "fb1b7105-98f5-4f4f-8f5c-c410844cc4d3",
65
83
  "slug": "grains",
84
+ "core": false,
85
+ "unlocked_by": null,
86
+ "difficulty": 1,
66
87
  "topics": [
67
88
 
68
89
  ]
69
90
  },
70
91
  {
71
- "difficulty": 1,
92
+ "uuid": "105a3de5-3dea-4880-927a-6eed89a97a07",
72
93
  "slug": "anagram",
94
+ "core": false,
95
+ "unlocked_by": null,
96
+ "difficulty": 1,
73
97
  "topics": [
74
98
 
75
99
  ]
76
100
  },
77
101
  {
78
- "difficulty": 1,
102
+ "uuid": "b8b3a324-8d62-49d4-ba28-886883e5c549",
79
103
  "slug": "space-age",
104
+ "core": false,
105
+ "unlocked_by": null,
106
+ "difficulty": 1,
80
107
  "topics": [
81
108
 
82
109
  ]
83
110
  },
84
111
  {
85
- "difficulty": 1,
112
+ "uuid": "581b968c-f78f-4b60-9eb0-8c73eeeb96af",
86
113
  "slug": "sum-of-multiples",
114
+ "core": false,
115
+ "unlocked_by": null,
116
+ "difficulty": 1,
87
117
  "topics": [
88
118
 
89
119
  ]
90
120
  },
91
121
  {
92
- "difficulty": 1,
122
+ "uuid": "a7cbf043-504b-4fc8-b7fb-33a88ac7962d",
93
123
  "slug": "word-count",
124
+ "core": false,
125
+ "unlocked_by": null,
126
+ "difficulty": 1,
94
127
  "topics": [
95
128
 
96
129
  ]
97
130
  },
98
131
  {
99
- "difficulty": 1,
132
+ "uuid": "e5166378-e3fc-4393-b4f8-4c36da444c56",
100
133
  "slug": "phone-number",
134
+ "core": false,
135
+ "unlocked_by": null,
136
+ "difficulty": 1,
101
137
  "topics": [
102
138
 
103
139
  ]
104
140
  },
105
141
  {
106
- "difficulty": 1,
142
+ "uuid": "8bde91c5-2fe7-4f8d-91ec-ed05284b9a49",
107
143
  "slug": "rotational-cipher",
144
+ "core": false,
145
+ "unlocked_by": null,
146
+ "difficulty": 1,
108
147
  "topics": [
109
148
 
110
149
  ]
111
150
  },
112
151
  {
113
- "difficulty": 1,
152
+ "uuid": "c82dfe0c-77c9-4a3b-8110-962a9547ac64",
114
153
  "slug": "scrabble-score",
154
+ "core": false,
155
+ "unlocked_by": null,
156
+ "difficulty": 1,
115
157
  "topics": [
116
158
 
117
159
  ]
118
160
  },
119
161
  {
120
- "difficulty": 1,
162
+ "uuid": "4ea6d28b-f2bd-4785-ad9f-8eed6a9c67eb",
121
163
  "slug": "isogram",
164
+ "core": false,
165
+ "unlocked_by": null,
166
+ "difficulty": 1,
122
167
  "topics": [
123
168
 
124
169
  ]
125
170
  },
126
171
  {
127
- "difficulty": 1,
172
+ "uuid": "3fd2d6dd-6d4d-4b7f-9f1e-0de11899dcb5",
128
173
  "slug": "beer-song",
129
- "topics": [
130
-
174
+ "core": false,
175
+ "unlocked_by": null,
176
+ "difficulty": 1,
177
+ "topics": [
178
+
131
179
  ]
132
180
  },
133
181
  {
134
- "difficulty": 1,
182
+ "uuid": "cef7ba44-5b9a-4fc3-b853-9b598e743ba8",
135
183
  "slug": "perfect-numbers",
184
+ "core": false,
185
+ "unlocked_by": null,
186
+ "difficulty": 1,
136
187
  "topics": [
137
188
 
138
189
  ]
139
190
  },
140
191
  {
141
- "difficulty": 1,
192
+ "uuid": "ee849e23-d709-4e4a-ab89-07a87e13e4fb",
142
193
  "slug": "prime-factors",
194
+ "core": false,
195
+ "unlocked_by": null,
196
+ "difficulty": 1,
143
197
  "topics": [
144
198
 
145
199
  ]
146
200
  },
147
201
  {
148
- "difficulty": 1,
202
+ "uuid": "dabc8218-8ab8-4918-85d3-0afd5b6791c6",
149
203
  "slug": "sieve",
204
+ "core": false,
205
+ "unlocked_by": null,
206
+ "difficulty": 1,
150
207
  "topics": [
151
208
 
152
209
  ]
153
210
  },
154
211
  {
155
- "difficulty": 1,
212
+ "uuid": "a1b4bde3-2ee7-42dd-85c5-4303ae546d15",
156
213
  "slug": "largest-series-product",
214
+ "core": false,
215
+ "unlocked_by": null,
216
+ "difficulty": 1,
157
217
  "topics": [
158
218
 
159
219
  ]
160
220
  },
161
221
  {
162
- "difficulty": 1,
222
+ "uuid": "33157f48-a2d9-4fae-a9c8-5df547473f1a",
163
223
  "slug": "luhn",
224
+ "core": false,
225
+ "unlocked_by": null,
226
+ "difficulty": 1,
164
227
  "topics": [
165
228
 
166
229
  ]
167
230
  },
168
231
  {
169
- "difficulty": 1,
232
+ "uuid": "eacc30e1-d02c-4ccb-b1f7-3d4f16358726",
170
233
  "slug": "secret-handshake",
234
+ "core": false,
235
+ "unlocked_by": null,
236
+ "difficulty": 1,
171
237
  "topics": [
172
238
 
173
239
  ]
174
240
  },
175
241
  {
176
- "difficulty": 1,
242
+ "uuid": "f3e93545-7466-4635-b508-7e02517fdf06",
177
243
  "slug": "pascals-triangle",
244
+ "core": false,
245
+ "unlocked_by": null,
246
+ "difficulty": 1,
178
247
  "topics": [
179
248
 
180
249
  ]
181
250
  },
182
251
  {
183
- "difficulty": 1,
252
+ "uuid": "acf63670-7e56-47c1-9f33-7ec076d5270f",
184
253
  "slug": "tournament",
254
+ "core": false,
255
+ "unlocked_by": null,
256
+ "difficulty": 1,
185
257
  "topics": [
186
258
 
187
259
  ]
@@ -3,7 +3,7 @@ language: rust
3
3
  script:
4
4
  - "./_test/check-exercises.sh"
5
5
  - "./bin/fetch-configlet"
6
- - "./bin/configlet ."
6
+ - "./bin/configlet lint ."
7
7
  sudo: false
8
8
  rust:
9
9
  - stable