trackler 2.2.1.1 → 2.2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/erlang/config/maintainers.json +29 -0
- data/tracks/go/config.json +11 -8
- data/tracks/haskell/config/maintainers.json +44 -0
- data/tracks/java/docs/TESTS.md +3 -3
- data/tracks/javascript/config.json +14 -3
- data/tracks/javascript/exercises/sublist/README.md +50 -0
- data/tracks/javascript/exercises/sublist/example.js +31 -0
- data/tracks/javascript/exercises/sublist/sublist.spec.js +126 -0
- data/tracks/pony/README.md +1 -1
- data/tracks/pony/config.json +0 -2
- data/tracks/pony/config/exercise_readme.go.tmpl +16 -0
- data/tracks/pony/exercises/anagram/README.md +13 -0
- data/tracks/pony/exercises/atbash-cipher/README.md +34 -0
- data/tracks/pony/exercises/beer-song/README.md +327 -0
- data/tracks/pony/exercises/bob/README.md +18 -0
- data/tracks/pony/exercises/difference-of-squares/README.md +19 -0
- data/tracks/pony/exercises/hamming/README.md +42 -0
- data/tracks/pony/exercises/hello-world/README.md +21 -0
- data/tracks/pony/exercises/leap/README.md +33 -0
- data/tracks/pony/exercises/pascals-triangle/README.md +21 -0
- data/tracks/pony/exercises/rna-transcription/README.md +25 -0
- data/tracks/pony/exercises/roman-numerals/README.md +49 -0
- data/tracks/ruby/config.json +13 -0
- data/tracks/ruby/config/maintainers.json +64 -0
- data/tracks/ruby/exercises/rotational-cipher/.meta/.version +1 -0
- data/tracks/ruby/exercises/rotational-cipher/.meta/generator/rotational_cipher_case.rb +9 -0
- data/tracks/ruby/exercises/rotational-cipher/.meta/solutions/rotational_cipher.rb +53 -0
- data/tracks/ruby/exercises/rotational-cipher/rotational_cipher_test.rb +77 -0
- metadata +24 -2
@@ -0,0 +1,21 @@
|
|
1
|
+
# Hello World
|
2
|
+
|
3
|
+
The classical introductory exercise. Just say "Hello, World!".
|
4
|
+
|
5
|
+
["Hello, World!"](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program) is
|
6
|
+
the traditional first program for beginning programming in a new language
|
7
|
+
or environment.
|
8
|
+
|
9
|
+
The objectives are simple:
|
10
|
+
|
11
|
+
- Write a function that returns the string "Hello, World!".
|
12
|
+
- Run the test suite and make sure that it succeeds.
|
13
|
+
- Submit your solution and check it at the website.
|
14
|
+
|
15
|
+
If everything goes well, you will be ready to fetch your first real exercise.
|
16
|
+
## Source
|
17
|
+
|
18
|
+
This is an exercise to introduce users to using Exercism [http://en.wikipedia.org/wiki/%22Hello,_world!%22_program](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program)
|
19
|
+
|
20
|
+
## Submitting Incomplete Solutions
|
21
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# Leap
|
2
|
+
|
3
|
+
Given a year, report if it is a leap year.
|
4
|
+
|
5
|
+
The tricky thing here is that a leap year in the Gregorian calendar occurs:
|
6
|
+
|
7
|
+
```plain
|
8
|
+
on every year that is evenly divisible by 4
|
9
|
+
except every year that is evenly divisible by 100
|
10
|
+
unless the year is also evenly divisible by 400
|
11
|
+
```
|
12
|
+
|
13
|
+
For example, 1997 is not a leap year, but 1996 is. 1900 is not a leap
|
14
|
+
year, but 2000 is.
|
15
|
+
|
16
|
+
If your language provides a method in the standard library that does
|
17
|
+
this look-up, pretend it doesn't exist and implement it yourself.
|
18
|
+
|
19
|
+
## Notes
|
20
|
+
|
21
|
+
Though our exercise adopts some very simple rules, there is more to
|
22
|
+
learn!
|
23
|
+
|
24
|
+
For a delightful, four minute explanation of the whole leap year
|
25
|
+
phenomenon, go watch [this youtube video][video].
|
26
|
+
|
27
|
+
[video]: http://www.youtube.com/watch?v=xX96xng7sAE
|
28
|
+
## Source
|
29
|
+
|
30
|
+
JavaRanch Cattle Drive, exercise 3 [http://www.javaranch.com/leap.jsp](http://www.javaranch.com/leap.jsp)
|
31
|
+
|
32
|
+
## Submitting Incomplete Solutions
|
33
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Pascals Triangle
|
2
|
+
|
3
|
+
Compute Pascal's triangle up to a given number of rows.
|
4
|
+
|
5
|
+
In Pascal's Triangle each number is computed by adding the numbers to
|
6
|
+
the right and left of the current position in the previous row.
|
7
|
+
|
8
|
+
```plain
|
9
|
+
1
|
10
|
+
1 1
|
11
|
+
1 2 1
|
12
|
+
1 3 3 1
|
13
|
+
1 4 6 4 1
|
14
|
+
# ... etc
|
15
|
+
```
|
16
|
+
## Source
|
17
|
+
|
18
|
+
Pascal's Triangle at Wolfram Math World [http://mathworld.wolfram.com/PascalsTriangle.html](http://mathworld.wolfram.com/PascalsTriangle.html)
|
19
|
+
|
20
|
+
## Submitting Incomplete Solutions
|
21
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Rna Transcription
|
2
|
+
|
3
|
+
Given a DNA strand, return its RNA complement (per RNA transcription).
|
4
|
+
|
5
|
+
Both DNA and RNA strands are a sequence of nucleotides.
|
6
|
+
|
7
|
+
The four nucleotides found in DNA are adenine (**A**), cytosine (**C**),
|
8
|
+
guanine (**G**) and thymine (**T**).
|
9
|
+
|
10
|
+
The four nucleotides found in RNA are adenine (**A**), cytosine (**C**),
|
11
|
+
guanine (**G**) and uracil (**U**).
|
12
|
+
|
13
|
+
Given a DNA strand, its transcribed RNA strand is formed by replacing
|
14
|
+
each nucleotide with its complement:
|
15
|
+
|
16
|
+
* `G` -> `C`
|
17
|
+
* `C` -> `G`
|
18
|
+
* `T` -> `A`
|
19
|
+
* `A` -> `U`
|
20
|
+
## Source
|
21
|
+
|
22
|
+
Rosalind [http://rosalind.info/problems/rna](http://rosalind.info/problems/rna)
|
23
|
+
|
24
|
+
## Submitting Incomplete Solutions
|
25
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# Roman Numerals
|
2
|
+
|
3
|
+
Write a function to convert from normal numbers to Roman Numerals.
|
4
|
+
|
5
|
+
The Romans were a clever bunch. They conquered most of Europe and ruled
|
6
|
+
it for hundreds of years. They invented concrete and straight roads and
|
7
|
+
even bikinis. One thing they never discovered though was the number
|
8
|
+
zero. This made writing and dating extensive histories of their exploits
|
9
|
+
slightly more challenging, but the system of numbers they came up with
|
10
|
+
is still in use today. For example the BBC uses Roman numerals to date
|
11
|
+
their programmes.
|
12
|
+
|
13
|
+
The Romans wrote numbers using letters - I, V, X, L, C, D, M. (notice
|
14
|
+
these letters have lots of straight lines and are hence easy to hack
|
15
|
+
into stone tablets).
|
16
|
+
|
17
|
+
```
|
18
|
+
1 => I
|
19
|
+
10 => X
|
20
|
+
7 => VII
|
21
|
+
```
|
22
|
+
|
23
|
+
There is no need to be able to convert numbers larger than about 3000.
|
24
|
+
(The Romans themselves didn't tend to go any higher)
|
25
|
+
|
26
|
+
Wikipedia says: Modern Roman numerals ... are written by expressing each
|
27
|
+
digit separately starting with the left most digit and skipping any
|
28
|
+
digit with a value of zero.
|
29
|
+
|
30
|
+
To see this in practice, consider the example of 1990.
|
31
|
+
|
32
|
+
In Roman numerals 1990 is MCMXC:
|
33
|
+
|
34
|
+
1000=M
|
35
|
+
900=CM
|
36
|
+
90=XC
|
37
|
+
|
38
|
+
2008 is written as MMVIII:
|
39
|
+
|
40
|
+
2000=MM
|
41
|
+
8=VIII
|
42
|
+
|
43
|
+
See also: http://www.novaroma.org/via_romana/numbers.html
|
44
|
+
## Source
|
45
|
+
|
46
|
+
The Roman Numeral Kata [http://codingdojo.org/cgi-bin/index.pl?KataRomanNumerals](http://codingdojo.org/cgi-bin/index.pl?KataRomanNumerals)
|
47
|
+
|
48
|
+
## Submitting Incomplete Solutions
|
49
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
data/tracks/ruby/config.json
CHANGED
@@ -859,6 +859,19 @@
|
|
859
859
|
"Mathematics"
|
860
860
|
]
|
861
861
|
},
|
862
|
+
{
|
863
|
+
"uuid": "af5ccf14-eff2-4dc6-b1db-e209cddca62a",
|
864
|
+
"slug": "rotational-cipher",
|
865
|
+
"core": false,
|
866
|
+
"unlocked_by": null,
|
867
|
+
"difficulty": 1,
|
868
|
+
"topics": [
|
869
|
+
"Control-flow (conditionals)",
|
870
|
+
"Control-flow (loops)",
|
871
|
+
"Logic",
|
872
|
+
"Strings"
|
873
|
+
]
|
874
|
+
},
|
862
875
|
{
|
863
876
|
"uuid": "cae4e000-3aac-41f7-b727-f9cce12d058d",
|
864
877
|
"slug": "octal",
|
@@ -0,0 +1,64 @@
|
|
1
|
+
{
|
2
|
+
"maintainers": [
|
3
|
+
{
|
4
|
+
"github_username": "kotp",
|
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": "bernardoamc",
|
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": "tommyschaefer",
|
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": "hilary",
|
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": "bmulvihill",
|
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
|
+
"github_username": "Insti",
|
55
|
+
"show_on_website": false,
|
56
|
+
"alumnus": false,
|
57
|
+
"name": null,
|
58
|
+
"bio": null,
|
59
|
+
"link_text": null,
|
60
|
+
"link_url": null,
|
61
|
+
"avatar_url": null
|
62
|
+
}
|
63
|
+
]
|
64
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
1
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module BookKeeping
|
2
|
+
VERSION = 1
|
3
|
+
end
|
4
|
+
|
5
|
+
class RotationalCipher
|
6
|
+
SMALL_LETTERS_RANGE = (97..122)
|
7
|
+
BIG_LETTERS_RANGE = (65..90)
|
8
|
+
ROTATION_MODIFIER = 1
|
9
|
+
|
10
|
+
attr_reader :text
|
11
|
+
|
12
|
+
def initialize(text, key)
|
13
|
+
@text = text
|
14
|
+
@shift_key = key
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.rotate(text, key)
|
18
|
+
new(text, key).rotate
|
19
|
+
end
|
20
|
+
|
21
|
+
def rotate
|
22
|
+
text.split('').map { |char| shift_char(char) }.join
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def shift_char(char)
|
28
|
+
shift_ascii(char.ord).chr
|
29
|
+
end
|
30
|
+
|
31
|
+
def shift_key
|
32
|
+
@shift_key % 26
|
33
|
+
end
|
34
|
+
|
35
|
+
def shift_ascii(char_ascii)
|
36
|
+
case char_ascii
|
37
|
+
when SMALL_LETTERS_RANGE
|
38
|
+
shift_within(char_ascii, SMALL_LETTERS_RANGE.min, SMALL_LETTERS_RANGE.max)
|
39
|
+
when BIG_LETTERS_RANGE
|
40
|
+
shift_within(char_ascii, BIG_LETTERS_RANGE.min, BIG_LETTERS_RANGE.max)
|
41
|
+
else
|
42
|
+
char_ascii
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def shift_within(char_ascii, lower_limit, upper_limit)
|
47
|
+
shifted_ascii = char_ascii + shift_key
|
48
|
+
|
49
|
+
return shifted_ascii if shifted_ascii <= upper_limit
|
50
|
+
|
51
|
+
lower_limit + (shifted_ascii - upper_limit - ROTATION_MODIFIER)
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require_relative 'rotational_cipher'
|
3
|
+
|
4
|
+
# Common test data version: 1.1.0 9c658d1
|
5
|
+
class RotationalCipherTest < Minitest::Test
|
6
|
+
def test_rotate_a_by_0_same_output_as_input
|
7
|
+
# skip
|
8
|
+
assert_equal "a", RotationalCipher.rotate("a", 0)
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_rotate_a_by_1
|
12
|
+
skip
|
13
|
+
assert_equal "b", RotationalCipher.rotate("a", 1)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_rotate_a_by_26_same_output_as_input
|
17
|
+
skip
|
18
|
+
assert_equal "a", RotationalCipher.rotate("a", 26)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_rotate_m_by_13
|
22
|
+
skip
|
23
|
+
assert_equal "z", RotationalCipher.rotate("m", 13)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_rotate_n_by_13_with_wrap_around_alphabet
|
27
|
+
skip
|
28
|
+
assert_equal "a", RotationalCipher.rotate("n", 13)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_rotate_capital_letters
|
32
|
+
skip
|
33
|
+
assert_equal "TRL", RotationalCipher.rotate("OMG", 5)
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_rotate_spaces
|
37
|
+
skip
|
38
|
+
assert_equal "T R L", RotationalCipher.rotate("O M G", 5)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_rotate_numbers
|
42
|
+
skip
|
43
|
+
assert_equal "Xiwxmrk 1 2 3 xiwxmrk", RotationalCipher.rotate("Testing 1 2 3 testing", 4)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_rotate_punctuation
|
47
|
+
skip
|
48
|
+
assert_equal "Gzo'n zvo, Bmviyhv!", RotationalCipher.rotate("Let's eat, Grandma!", 21)
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_rotate_all_letters
|
52
|
+
skip
|
53
|
+
assert_equal "Gur dhvpx oebja sbk whzcf bire gur ynml qbt.", RotationalCipher.rotate("The quick brown fox jumps over the lazy dog.", 13)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Problems in exercism evolve over time, as we find better ways to ask
|
57
|
+
# questions.
|
58
|
+
# The version number refers to the version of the problem you solved,
|
59
|
+
# not your solution.
|
60
|
+
#
|
61
|
+
# Define a constant named VERSION inside of the top level BookKeeping
|
62
|
+
# module, which may be placed near the end of your file.
|
63
|
+
#
|
64
|
+
# In your file, it will look like this:
|
65
|
+
#
|
66
|
+
# module BookKeeping
|
67
|
+
# VERSION = 1 # Where the version number matches the one in the test.
|
68
|
+
# end
|
69
|
+
#
|
70
|
+
# If you are curious, read more about constants on RubyDoc:
|
71
|
+
# http://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/constants.html
|
72
|
+
|
73
|
+
def test_bookkeeping
|
74
|
+
skip
|
75
|
+
assert_equal 1, BookKeeping::VERSION
|
76
|
+
end
|
77
|
+
end
|
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.2.1.
|
4
|
+
version: 2.2.1.2
|
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-07-
|
11
|
+
date: 2017-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -3597,6 +3597,7 @@ files:
|
|
3597
3597
|
- tracks/erlang/bin/journey-test.sh
|
3598
3598
|
- tracks/erlang/config.json
|
3599
3599
|
- tracks/erlang/config/exercise_readme.go.tmpl
|
3600
|
+
- tracks/erlang/config/maintainers.json
|
3600
3601
|
- tracks/erlang/docs/ABOUT.md
|
3601
3602
|
- tracks/erlang/docs/EXERCISE_README_INSERT.md
|
3602
3603
|
- tracks/erlang/docs/INSTALLATION.md
|
@@ -4697,6 +4698,7 @@ files:
|
|
4697
4698
|
- tracks/haskell/bin/test-stub
|
4698
4699
|
- tracks/haskell/config.json
|
4699
4700
|
- tracks/haskell/config/exercise_readme.go.tmpl
|
4701
|
+
- tracks/haskell/config/maintainers.json
|
4700
4702
|
- tracks/haskell/docs/ABOUT.md
|
4701
4703
|
- tracks/haskell/docs/EXERCISE_README_INSERT.md
|
4702
4704
|
- tracks/haskell/docs/INSTALLATION.md
|
@@ -6127,6 +6129,9 @@ files:
|
|
6127
6129
|
- tracks/javascript/exercises/strain/README.md
|
6128
6130
|
- tracks/javascript/exercises/strain/example.js
|
6129
6131
|
- tracks/javascript/exercises/strain/strain.spec.js
|
6132
|
+
- tracks/javascript/exercises/sublist/README.md
|
6133
|
+
- tracks/javascript/exercises/sublist/example.js
|
6134
|
+
- tracks/javascript/exercises/sublist/sublist.spec.js
|
6130
6135
|
- tracks/javascript/exercises/sum-of-multiples/README.md
|
6131
6136
|
- tracks/javascript/exercises/sum-of-multiples/example.js
|
6132
6137
|
- tracks/javascript/exercises/sum-of-multiples/sum-of-multiples.spec.js
|
@@ -8430,32 +8435,44 @@ files:
|
|
8430
8435
|
- tracks/pony/bin/install-deps
|
8431
8436
|
- tracks/pony/bin/test-exercises
|
8432
8437
|
- tracks/pony/config.json
|
8438
|
+
- tracks/pony/config/exercise_readme.go.tmpl
|
8433
8439
|
- tracks/pony/docs/ABOUT.md
|
8434
8440
|
- tracks/pony/docs/EXERCISE_README_INSERT.md
|
8435
8441
|
- tracks/pony/docs/INSTALLATION.md
|
8436
8442
|
- tracks/pony/docs/LEARNING.md
|
8437
8443
|
- tracks/pony/docs/RESOURCES.md
|
8438
8444
|
- tracks/pony/docs/TESTS.md
|
8445
|
+
- tracks/pony/exercises/anagram/README.md
|
8439
8446
|
- tracks/pony/exercises/anagram/example.pony
|
8440
8447
|
- tracks/pony/exercises/anagram/test.pony
|
8448
|
+
- tracks/pony/exercises/atbash-cipher/README.md
|
8441
8449
|
- tracks/pony/exercises/atbash-cipher/example.pony
|
8442
8450
|
- tracks/pony/exercises/atbash-cipher/test.pony
|
8451
|
+
- tracks/pony/exercises/beer-song/README.md
|
8443
8452
|
- tracks/pony/exercises/beer-song/example.pony
|
8444
8453
|
- tracks/pony/exercises/beer-song/test.pony
|
8454
|
+
- tracks/pony/exercises/bob/README.md
|
8445
8455
|
- tracks/pony/exercises/bob/example.pony
|
8446
8456
|
- tracks/pony/exercises/bob/test.pony
|
8457
|
+
- tracks/pony/exercises/difference-of-squares/README.md
|
8447
8458
|
- tracks/pony/exercises/difference-of-squares/example.pony
|
8448
8459
|
- tracks/pony/exercises/difference-of-squares/test.pony
|
8460
|
+
- tracks/pony/exercises/hamming/README.md
|
8449
8461
|
- tracks/pony/exercises/hamming/example.pony
|
8450
8462
|
- tracks/pony/exercises/hamming/test.pony
|
8463
|
+
- tracks/pony/exercises/hello-world/README.md
|
8451
8464
|
- tracks/pony/exercises/hello-world/example.pony
|
8452
8465
|
- tracks/pony/exercises/hello-world/test.pony
|
8466
|
+
- tracks/pony/exercises/leap/README.md
|
8453
8467
|
- tracks/pony/exercises/leap/example.pony
|
8454
8468
|
- tracks/pony/exercises/leap/test.pony
|
8469
|
+
- tracks/pony/exercises/pascals-triangle/README.md
|
8455
8470
|
- tracks/pony/exercises/pascals-triangle/example.pony
|
8456
8471
|
- tracks/pony/exercises/pascals-triangle/test.pony
|
8472
|
+
- tracks/pony/exercises/rna-transcription/README.md
|
8457
8473
|
- tracks/pony/exercises/rna-transcription/example.pony
|
8458
8474
|
- tracks/pony/exercises/rna-transcription/test.pony
|
8475
|
+
- tracks/pony/exercises/roman-numerals/README.md
|
8459
8476
|
- tracks/pony/exercises/roman-numerals/example.pony
|
8460
8477
|
- tracks/pony/exercises/roman-numerals/test.pony
|
8461
8478
|
- tracks/pony/img/icon.png
|
@@ -9251,6 +9268,7 @@ files:
|
|
9251
9268
|
- tracks/ruby/bin/setup-git-hoooks
|
9252
9269
|
- tracks/ruby/config.json
|
9253
9270
|
- tracks/ruby/config/exercise_readme.go.tmpl
|
9271
|
+
- tracks/ruby/config/maintainers.json
|
9254
9272
|
- tracks/ruby/docs/24pullrequests.md
|
9255
9273
|
- tracks/ruby/docs/ABOUT.md
|
9256
9274
|
- tracks/ruby/docs/EXERCISE_README_INSERT.md
|
@@ -9533,6 +9551,10 @@ files:
|
|
9533
9551
|
- tracks/ruby/exercises/roman-numerals/.meta/solutions/roman_numerals.rb
|
9534
9552
|
- tracks/ruby/exercises/roman-numerals/README.md
|
9535
9553
|
- tracks/ruby/exercises/roman-numerals/roman_numerals_test.rb
|
9554
|
+
- tracks/ruby/exercises/rotational-cipher/.meta/.version
|
9555
|
+
- tracks/ruby/exercises/rotational-cipher/.meta/generator/rotational_cipher_case.rb
|
9556
|
+
- tracks/ruby/exercises/rotational-cipher/.meta/solutions/rotational_cipher.rb
|
9557
|
+
- tracks/ruby/exercises/rotational-cipher/rotational_cipher_test.rb
|
9536
9558
|
- tracks/ruby/exercises/run-length-encoding/.meta/.version
|
9537
9559
|
- tracks/ruby/exercises/run-length-encoding/.meta/generator/run_length_encoding_case.rb
|
9538
9560
|
- tracks/ruby/exercises/run-length-encoding/.meta/solutions/run_length_encoding.rb
|