derp 0.0.2 → 0.0.3
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.
- data/TODO +0 -1
- data/lib/derp.rb +41 -30
- data/lib/derp/version.rb +1 -1
- data/test/derp_test.rb +19 -0
- metadata +2 -2
data/lib/derp.rb
CHANGED
@@ -1,38 +1,49 @@
|
|
1
1
|
class String
|
2
|
+
Morse = {
|
3
|
+
'a' => 'herpderp',
|
4
|
+
'b' => 'derpherpherpherp',
|
5
|
+
'c' => 'derpherpderpherp',
|
6
|
+
'd' =>'derpherpherp',
|
7
|
+
'e' => 'herp',
|
8
|
+
'f' => 'herpherpderpherp',
|
9
|
+
'g' => 'derpderpherp',
|
10
|
+
'h' => 'herpherpherpherp',
|
11
|
+
'i' => 'herpherp',
|
12
|
+
'j' => 'herpderpderpderp',
|
13
|
+
'k' => 'derpherpderp',
|
14
|
+
'l' => 'herpderpherpherp',
|
15
|
+
'm' => 'derpderp',
|
16
|
+
'n' => 'derpherp',
|
17
|
+
'o' => 'derpderpderp',
|
18
|
+
'p' => 'herpderpderpherp',
|
19
|
+
'q' => 'derpderpherpderp',
|
20
|
+
'r' => 'herpderpherp',
|
21
|
+
's' => 'herpherpherp',
|
22
|
+
't' => 'derp',
|
23
|
+
'u' => 'herpherpderp',
|
24
|
+
'v' => 'herpherpherpderp',
|
25
|
+
'w' => 'herpderpderp',
|
26
|
+
'x' => 'derpherpherpderp',
|
27
|
+
'y' => 'derpherpderpderp',
|
28
|
+
'z' => 'derpderpherpherp',
|
29
|
+
' ' => '.'
|
30
|
+
}
|
31
|
+
|
2
32
|
def to_derp
|
3
|
-
morse = {
|
4
|
-
'a' => 'herpderp',
|
5
|
-
'b' => 'derpherpherpherp',
|
6
|
-
'c' => 'derpherpderpherp',
|
7
|
-
'd' =>'derpherpherp',
|
8
|
-
'e' => 'herp',
|
9
|
-
'f' => 'herpherpderpherp',
|
10
|
-
'g' => 'derpderpherp',
|
11
|
-
'h' => 'herpherpherpherp',
|
12
|
-
'i' => 'herpherp',
|
13
|
-
'j' => 'herpderpderpderp',
|
14
|
-
'k' => 'derpherpderp',
|
15
|
-
'l' => 'herpderpherpherp',
|
16
|
-
'm' => 'derpderp',
|
17
|
-
'n' => 'derpherp',
|
18
|
-
'o' => 'derpderpderp',
|
19
|
-
'p' => 'herpderpderpherp',
|
20
|
-
'q' => 'derpderpherpderp',
|
21
|
-
'r' => 'herpderpherp',
|
22
|
-
's' => 'herpherpherp',
|
23
|
-
't' => 'derp',
|
24
|
-
'u' => 'herpherpderp',
|
25
|
-
'v' => 'herpherpherpderp',
|
26
|
-
'w' => 'herpderpderp',
|
27
|
-
'x' => 'derpherpherpderp',
|
28
|
-
'y' => 'derpherpderpderp',
|
29
|
-
'z' => 'derpderpherpherp',
|
30
|
-
' ' => '.'
|
31
|
-
}
|
32
33
|
out = ""
|
33
34
|
self.split(//).each do |c|
|
34
|
-
out +=
|
35
|
+
out += Morse[c] + " " unless Morse[c].nil?
|
35
36
|
end
|
36
37
|
out.rstrip
|
37
38
|
end
|
39
|
+
|
40
|
+
def from_derp
|
41
|
+
inverted = Morse.invert
|
42
|
+
out = ""
|
43
|
+
self.split.each do |w|
|
44
|
+
out += inverted[w] + " " unless inverted[w].nil?
|
45
|
+
end
|
46
|
+
out.gsub!(/\s([a-z\s])/, '\1')
|
47
|
+
out.rstrip
|
48
|
+
end
|
38
49
|
end
|
data/lib/derp/version.rb
CHANGED
data/test/derp_test.rb
CHANGED
@@ -32,4 +32,23 @@ class TestDerp < MiniTest::Unit::TestCase
|
|
32
32
|
assert_equal "ab".to_derp, "herpderp derpherpherpherp"
|
33
33
|
end
|
34
34
|
|
35
|
+
def test_from_derp_exists
|
36
|
+
assert_respond_to @derp, :from_derp
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_from_derp_returns_string
|
40
|
+
assert_instance_of String, @derp.from_derp
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_from_multiple_words
|
44
|
+
assert_equal "herpderp . herpderp".from_derp, "a a"
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_from_long_words
|
48
|
+
assert_equal "herpderp herpderp".from_derp, "aa"
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_from_different_characters
|
52
|
+
assert_equal "herpderp derpherpherpherp".from_derp, "ab"
|
53
|
+
end
|
35
54
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: derp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Steve Klabnik
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-02-
|
13
|
+
date: 2011-02-27 00:00:00 -05:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|