trackler 2.1.0.42 → 2.1.0.43

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/bin/update +3 -3
  3. data/common/CONTRIBUTING.md +5 -5
  4. data/common/exercises/rna-transcription/canonical-data.json +9 -9
  5. data/lib/trackler/track.rb +40 -6
  6. data/lib/trackler/version.rb +1 -1
  7. data/tracks/clojure/config.json +7 -0
  8. data/tracks/clojure/exercises/rotational-cipher/project.clj +4 -0
  9. data/tracks/clojure/exercises/rotational-cipher/src/example.clj +21 -0
  10. data/tracks/clojure/exercises/rotational-cipher/test/rotational_cipher_test.clj +34 -0
  11. data/tracks/elm/README.md +3 -3
  12. data/tracks/elm/config.json +1 -1
  13. data/tracks/elm/exercises/accumulate/elm-package.json +1 -1
  14. data/tracks/elm/exercises/accumulate/package.json +1 -1
  15. data/tracks/elm/exercises/accumulate/tests/elm-package.json +1 -1
  16. data/tracks/elm/exercises/allergies/elm-package.json +1 -1
  17. data/tracks/elm/exercises/allergies/package.json +1 -1
  18. data/tracks/elm/exercises/allergies/tests/elm-package.json +1 -1
  19. data/tracks/elm/exercises/anagram/elm-package.json +1 -1
  20. data/tracks/elm/exercises/anagram/package.json +1 -1
  21. data/tracks/elm/exercises/anagram/tests/elm-package.json +1 -1
  22. data/tracks/elm/exercises/atbash-cipher/elm-package.json +1 -1
  23. data/tracks/elm/exercises/atbash-cipher/package.json +1 -1
  24. data/tracks/elm/exercises/atbash-cipher/tests/elm-package.json +1 -1
  25. data/tracks/elm/exercises/bob/elm-package.json +1 -1
  26. data/tracks/elm/exercises/bob/package.json +1 -1
  27. data/tracks/elm/exercises/bob/tests/elm-package.json +1 -1
  28. data/tracks/elm/exercises/difference-of-squares/elm-package.json +1 -1
  29. data/tracks/elm/exercises/difference-of-squares/package.json +1 -1
  30. data/tracks/elm/exercises/difference-of-squares/tests/elm-package.json +1 -1
  31. data/tracks/elm/exercises/gigasecond/elm-package.json +1 -1
  32. data/tracks/elm/exercises/gigasecond/package.json +1 -1
  33. data/tracks/elm/exercises/gigasecond/tests/elm-package.json +1 -1
  34. data/tracks/elm/exercises/grade-school/elm-package.json +1 -1
  35. data/tracks/elm/exercises/grade-school/package.json +1 -1
  36. data/tracks/elm/exercises/grade-school/tests/elm-package.json +1 -1
  37. data/tracks/elm/exercises/grains/elm-package.json +1 -1
  38. data/tracks/elm/exercises/grains/package.json +1 -1
  39. data/tracks/elm/exercises/grains/tests/elm-package.json +1 -1
  40. data/tracks/elm/exercises/hamming/elm-package.json +1 -1
  41. data/tracks/elm/exercises/hamming/package.json +1 -1
  42. data/tracks/elm/exercises/hamming/tests/elm-package.json +1 -1
  43. data/tracks/elm/exercises/hello-world/elm-package.json +1 -1
  44. data/tracks/elm/exercises/hello-world/package.json +1 -1
  45. data/tracks/elm/exercises/hello-world/tests/elm-package.json +1 -1
  46. data/tracks/elm/exercises/largest-series-product/elm-package.json +1 -1
  47. data/tracks/elm/exercises/largest-series-product/package.json +1 -1
  48. data/tracks/elm/exercises/largest-series-product/tests/elm-package.json +1 -1
  49. data/tracks/elm/exercises/leap/elm-package.json +1 -1
  50. data/tracks/elm/exercises/leap/package.json +1 -1
  51. data/tracks/elm/exercises/leap/tests/elm-package.json +1 -1
  52. data/tracks/elm/exercises/list-ops/elm-package.json +1 -1
  53. data/tracks/elm/exercises/list-ops/package.json +1 -1
  54. data/tracks/elm/exercises/list-ops/tests/elm-package.json +1 -1
  55. data/tracks/elm/exercises/nucleotide-count/elm-package.json +1 -1
  56. data/tracks/elm/exercises/nucleotide-count/package.json +1 -1
  57. data/tracks/elm/exercises/nucleotide-count/tests/elm-package.json +1 -1
  58. data/tracks/elm/exercises/pangram/elm-package.json +1 -1
  59. data/tracks/elm/exercises/pangram/package.json +1 -1
  60. data/tracks/elm/exercises/pangram/tests/elm-package.json +1 -1
  61. data/tracks/elm/exercises/phone-number/elm-package.json +1 -1
  62. data/tracks/elm/exercises/phone-number/package.json +1 -1
  63. data/tracks/elm/exercises/phone-number/tests/elm-package.json +1 -1
  64. data/tracks/elm/exercises/raindrops/elm-package.json +1 -1
  65. data/tracks/elm/exercises/raindrops/package.json +1 -1
  66. data/tracks/elm/exercises/raindrops/tests/elm-package.json +1 -1
  67. data/tracks/elm/exercises/rna-transcription/elm-package.json +1 -1
  68. data/tracks/elm/exercises/rna-transcription/package.json +1 -1
  69. data/tracks/elm/exercises/rna-transcription/tests/elm-package.json +1 -1
  70. data/tracks/elm/exercises/robot-simulator/elm-package.json +1 -1
  71. data/tracks/elm/exercises/robot-simulator/package.json +1 -1
  72. data/tracks/elm/exercises/robot-simulator/tests/elm-package.json +1 -1
  73. data/tracks/elm/exercises/roman-numerals/elm-package.json +1 -1
  74. data/tracks/elm/exercises/roman-numerals/package.json +1 -1
  75. data/tracks/elm/exercises/roman-numerals/tests/elm-package.json +1 -1
  76. data/tracks/elm/exercises/run-length-encoding/elm-package.json +1 -1
  77. data/tracks/elm/exercises/run-length-encoding/package.json +1 -1
  78. data/tracks/elm/exercises/run-length-encoding/tests/elm-package.json +1 -1
  79. data/tracks/elm/exercises/say/elm-package.json +1 -1
  80. data/tracks/elm/exercises/say/package.json +1 -1
  81. data/tracks/elm/exercises/say/tests/elm-package.json +1 -1
  82. data/tracks/elm/exercises/scrabble-score/elm-package.json +1 -1
  83. data/tracks/elm/exercises/scrabble-score/package.json +1 -1
  84. data/tracks/elm/exercises/scrabble-score/tests/elm-package.json +1 -1
  85. data/tracks/elm/exercises/series/elm-package.json +1 -1
  86. data/tracks/elm/exercises/series/package.json +1 -1
  87. data/tracks/elm/exercises/series/tests/elm-package.json +1 -1
  88. data/tracks/elm/exercises/space-age/elm-package.json +1 -1
  89. data/tracks/elm/exercises/space-age/package.json +1 -1
  90. data/tracks/elm/exercises/space-age/tests/elm-package.json +1 -1
  91. data/tracks/elm/exercises/strain/elm-package.json +1 -1
  92. data/tracks/elm/exercises/strain/package.json +1 -1
  93. data/tracks/elm/exercises/strain/tests/elm-package.json +1 -1
  94. data/tracks/elm/exercises/sublist/elm-package.json +1 -1
  95. data/tracks/elm/exercises/sublist/package.json +1 -1
  96. data/tracks/elm/exercises/sublist/tests/elm-package.json +1 -1
  97. data/tracks/elm/exercises/sum-of-multiples/elm-package.json +1 -1
  98. data/tracks/elm/exercises/sum-of-multiples/package.json +1 -1
  99. data/tracks/elm/exercises/sum-of-multiples/tests/elm-package.json +1 -1
  100. data/tracks/elm/exercises/triangle/elm-package.json +1 -1
  101. data/tracks/elm/exercises/triangle/package.json +1 -1
  102. data/tracks/elm/exercises/triangle/tests/elm-package.json +1 -1
  103. data/tracks/elm/exercises/word-count/elm-package.json +1 -1
  104. data/tracks/elm/exercises/word-count/package.json +1 -1
  105. data/tracks/elm/exercises/word-count/tests/elm-package.json +1 -1
  106. data/tracks/perl5/README.md +1 -1
  107. data/tracks/prolog/exercises/hello-world/hello_world_tests.plt +3 -3
  108. data/tracks/purescript/config.json +0 -5
  109. data/tracks/python/README.md +4 -4
  110. data/tracks/python/config.json +1 -1
  111. data/tracks/ruby/exercises/hamming/RUNNING_TESTS.md +56 -0
  112. data/tracks/ruby/exercises/hello-world/GETTING_STARTED.md +10 -33
  113. data/tracks/rust/config.json +1 -1
  114. metadata +6 -4
  115. data/fixtures/tracks/fake/docs/STRAY.md +0 -1
  116. data/lib/trackler/doc_file.rb +0 -88
@@ -38,20 +38,21 @@ On Windows, it will complain about:
38
38
 
39
39
  On OS X and Linux, the error will be something like:
40
40
 
41
+
41
42
  # Running:
42
43
 
43
- ESS
44
+ E
44
45
 
45
- Finished in 0.001539s, 2599.0903 runs/s, 0.0000 assertions/s.
46
+ Finished in 0.001328s, 753.0121 runs/s, 0.0000 assertions/s.
46
47
 
47
- 1) Error:
48
- HelloWorldTest#test_no_name:
48
+ 1) Error:
49
+ HelloWorldTest#test_say_hi:
49
50
  NameError: uninitialized constant HelloWorldTest::HelloWorld
50
- hello-world/hello_world_test.rb:20:in `test_no_name'
51
-
52
- 3 runs, 0 assertions, 0 failures, 1 errors, 2 skips
53
-
54
- You have skipped tests. Run with --verbose for details.
51
+ Did you mean? HelloWorldTest
52
+ hello_world_test.rb:19:in `test_say_hi'
53
+
54
+ 1 runs, 0 assertions, 0 failures, 1 errors, 0 skips
55
+
55
56
 
56
57
  Within the first test, we are referencing a constant named `HelloWorld` when
57
58
  we say `HelloWorld.hello`. When Ruby sees a capitalized name like
@@ -69,19 +70,6 @@ To fix it, open up the hello_world.rb file and add the following code:
69
70
  class HelloWorld
70
71
  end
71
72
 
72
- ### Understanding Test Failures
73
-
74
- Whether you are on Windows, Mac OS X or Linux, you will eventually be faced with
75
- errors and failures that look a lot like the Mac OS X / Linux error above.
76
-
77
- The letters `ESS` show that there are three tests altogether,
78
- that one of them has an error (`E`), and that two of them are skipped (`SS`).
79
-
80
- The goal is to have three passing tests, which will show as three dots: `...`.
81
-
82
- The tests are run in randomized order, which will cause the letters to display
83
- in random order as well.
84
-
85
73
  ## Step 3
86
74
 
87
75
  Run the test again.
@@ -131,17 +119,6 @@ out what went wrong, and then try again.
131
119
 
132
120
  If it passes, then you're ready to move to the next step.
133
121
 
134
- Open the hello_world_test.rb file, and find the word "skip". All but the first test
135
- start with "skip", which tells Minitest to ignore the test. This is so that
136
- you don't have to deal with all the failures at once.
137
-
138
- To activate the next test, delete the "skip", and run the test suite again.
139
-
140
- ## Wash, Rinse, Repeat
141
-
142
- Delete one "skip" at a time, and make each test pass before you move to the
143
- next one.
144
-
145
122
  ## Submit
146
123
 
147
124
  When everything is passing, you can submit your code with the following
@@ -470,7 +470,7 @@
470
470
  "Enum",
471
471
  "structs",
472
472
  "traits",
473
- "Lifetimes"
473
+ "algorithm"
474
474
  ]
475
475
  },
476
476
  {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.42
4
+ version: 2.1.0.43
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-20 00:00:00.000000000 Z
11
+ date: 2017-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -480,7 +480,6 @@ files:
480
480
  - fixtures/tracks/fake/docs/INSTALLATION.org
481
481
  - fixtures/tracks/fake/docs/LEARNING.org
482
482
  - fixtures/tracks/fake/docs/RESOURCES.unknown_extension
483
- - fixtures/tracks/fake/docs/STRAY.md
484
483
  - fixtures/tracks/fake/docs/TESTS.md
485
484
  - fixtures/tracks/fake/docs/img/test.jpg
486
485
  - fixtures/tracks/fake/docs/img/test.png
@@ -528,7 +527,6 @@ files:
528
527
  - fixtures/tracks/vehicles/config.json
529
528
  - lib/trackler.rb
530
529
  - lib/trackler/description.rb
531
- - lib/trackler/doc_file.rb
532
530
  - lib/trackler/file_bundle.rb
533
531
  - lib/trackler/guaranteed_file.rb
534
532
  - lib/trackler/implementation.rb
@@ -1059,6 +1057,9 @@ files:
1059
1057
  - tracks/clojure/exercises/roman-numerals/project.clj
1060
1058
  - tracks/clojure/exercises/roman-numerals/src/example.clj
1061
1059
  - tracks/clojure/exercises/roman-numerals/test/roman_numerals_test.clj
1060
+ - tracks/clojure/exercises/rotational-cipher/project.clj
1061
+ - tracks/clojure/exercises/rotational-cipher/src/example.clj
1062
+ - tracks/clojure/exercises/rotational-cipher/test/rotational_cipher_test.clj
1062
1063
  - tracks/clojure/exercises/scrabble-score/project.clj
1063
1064
  - tracks/clojure/exercises/scrabble-score/src/example.clj
1064
1065
  - tracks/clojure/exercises/scrabble-score/test/scrabble_score_test.clj
@@ -7565,6 +7566,7 @@ files:
7565
7566
  - tracks/ruby/exercises/hamming/.meta/.version
7566
7567
  - tracks/ruby/exercises/hamming/.meta/generator/hamming_case.rb
7567
7568
  - tracks/ruby/exercises/hamming/.meta/solutions/hamming.rb
7569
+ - tracks/ruby/exercises/hamming/RUNNING_TESTS.md
7568
7570
  - tracks/ruby/exercises/hamming/hamming_test.rb
7569
7571
  - tracks/ruby/exercises/hello-world/.meta/.version
7570
7572
  - tracks/ruby/exercises/hello-world/.meta/generator/hello_world_case.rb
@@ -1 +0,0 @@
1
- ![](/docs/img/test.jpg)
@@ -1,88 +0,0 @@
1
- class DocFile
2
- DEFAULT_IMAGE_PATH = "/docs/img"
3
-
4
- def self.find(basename:, track_dir:)
5
- dir = File.join(track_dir, "docs")
6
-
7
- [
8
- MarkdownFile.new(basename: basename, docs_dir: dir),
9
- OrgmodeFile.new(basename: basename, docs_dir: dir),
10
- ].detect(&:exist?) || NullFile.new(basename)
11
- end
12
-
13
- attr_reader :basename, :dir
14
- def initialize(basename:, docs_dir:)
15
- @basename = basename
16
- @dir = docs_dir
17
- end
18
-
19
- def render(image_path: DEFAULT_IMAGE_PATH)
20
- body.gsub(img_src, img_dst(image_path))
21
- end
22
-
23
- def name
24
- "%s.%s" % [basename, extension]
25
- end
26
-
27
- def extension
28
- "md"
29
- end
30
-
31
- def exist?
32
- File.exist?(path)
33
- end
34
-
35
- private
36
-
37
- def body
38
- File.read(path)
39
- end
40
-
41
- def path
42
- "%s/%s" % [dir, name]
43
- end
44
-
45
- def img_src
46
- Regexp.new("]\\(%s" % DEFAULT_IMAGE_PATH)
47
- end
48
-
49
- def img_dst(image_path)
50
- "](%s" % image_path.gsub(Regexp.new("/$"), "")
51
- end
52
- end
53
-
54
- class OrgmodeFile < DocFile
55
- def body
56
- Orgmode::Parser.new(File.read(path)).to_markdown
57
- end
58
-
59
- def extension
60
- "org"
61
- end
62
- end
63
-
64
- class MarkdownFile < DocFile
65
- end
66
-
67
- class NullFile
68
- attr_reader :basename
69
- def initialize(basename)
70
- @basename = basename
71
- end
72
-
73
- def render(image_path:"")
74
- ""
75
- end
76
-
77
- def name
78
- "%s.%s" % [basename, extension]
79
- end
80
-
81
- def extension
82
- "md" # default for missing files
83
- end
84
-
85
- def exist?
86
- false
87
- end
88
- end