morse-code-rb 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +12 -12
- data/lib/morse_code/decoder.rb +9 -2
- data/lib/morse_code/encoder.rb +2 -0
- data/lib/morse_code/version.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 17c6ca85c62d3bd75096554e0a57044e99cf3769
|
4
|
+
data.tar.gz: 05d61184298e1c8a55a4fdda5a1628293a7ca29e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed9c6be874649076fcccdf18543fbb484b3eaa86004c9b494b3d2c5ca495f16a7a5ccad0cb1d0085e35167d96a7e59abe5e17d61f22204b2355e5160592f335c
|
7
|
+
data.tar.gz: dfb8f8958ababf42357d35a488ca0fa4890950cc645e4cabcdc92dbe9e0ff4165733d485178899bc78547f6ee901e0d891a501c48cfe26ff6ada1c644355af55
|
data/README.md
CHANGED
@@ -31,8 +31,8 @@ dit_dah = MorseCode::Encoder.new(content).dit_dah
|
|
31
31
|
puts encode_content
|
32
32
|
puts dit_dah
|
33
33
|
|
34
|
-
$> .. .- -- .-. --- -... --- - .-.-.-
|
35
|
-
$> DITDIT DITDAH DAHDAH DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDITDAHDITDAH
|
34
|
+
$> .. / .- -- / .-. --- -... --- - .-.-.-
|
35
|
+
$> DITDIT / DITDAH DAHDAH / DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDITDAHDITDAH
|
36
36
|
```
|
37
37
|
|
38
38
|
### Decode
|
@@ -40,15 +40,15 @@ $> DITDIT DITDAH DAHDAH DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDIT
|
|
40
40
|
```ruby
|
41
41
|
require 'morse_code'
|
42
42
|
|
43
|
-
content = '.. .- -- .-. --- -... --- - .-.-.-'
|
43
|
+
content = '.. / .- -- / .-. --- -... --- - .-.-.-'
|
44
44
|
decode_content = MorseCode::Decoder.new(content).decode
|
45
45
|
puts decode_content
|
46
|
-
$> I
|
46
|
+
$> I AM ROBOT.
|
47
47
|
|
48
|
-
dit_dah = 'DITDIT DITDAH DAHDAH DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDITDAHDITDAH'
|
48
|
+
dit_dah = 'DITDIT / DITDAH DAHDAH / DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDITDAHDITDAH'
|
49
49
|
dit_dah_to = MorseCode::Decoder.new(dit_dah).dit_dah_to
|
50
50
|
puts dit_dah_to
|
51
|
-
$> I
|
51
|
+
$> I AM ROBOT.
|
52
52
|
```
|
53
53
|
|
54
54
|
### Terminal
|
@@ -65,20 +65,20 @@ mc commands:
|
|
65
65
|
|
66
66
|
```shell
|
67
67
|
$> mc -e 'I am Robot.'
|
68
|
-
.. .- -- .-. --- -... --- - .-.-.-
|
68
|
+
.. / .- -- / .-. --- -... --- - .-.-.-
|
69
69
|
|
70
70
|
$> mc -e 'I am Robot.' --dit-dah
|
71
|
-
DITDIT DITDAH DAHDAH DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDITDAHDITDAH
|
71
|
+
DITDIT / DITDAH DAHDAH / DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDITDAHDITDAH
|
72
72
|
```
|
73
73
|
|
74
74
|
#### decode
|
75
75
|
|
76
76
|
```shell
|
77
|
-
$> mc -d '.. .- -- .-. --- -... --- - .-.-.-'
|
78
|
-
I
|
77
|
+
$> mc -d '.. / .- -- / .-. --- -... --- - .-.-.-'
|
78
|
+
I AM ROBOT.
|
79
79
|
|
80
|
-
$> mc -d 'DITDIT DITDAH DAHDAH DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDITDAHDITDAH' --dit-dah
|
81
|
-
I
|
80
|
+
$> mc -d 'DITDIT / DITDAH DAHDAH / DITDAHDIT DAHDAHDAH DAHDITDITDIT DAHDAHDAH DAH DITDAHDITDAHDITDAH' --dit-dah
|
81
|
+
I AM ROBOT.
|
82
82
|
```
|
83
83
|
|
84
84
|
### Contributing
|
data/lib/morse_code/decoder.rb
CHANGED
@@ -8,9 +8,16 @@ module MorseCode
|
|
8
8
|
|
9
9
|
def decode
|
10
10
|
[].tap do |decode_words|
|
11
|
-
|
12
|
-
|
11
|
+
word = []
|
12
|
+
@message.split(/\s+/).each do |char|
|
13
|
+
if char == '/'
|
14
|
+
decode_words.push(word.join)
|
15
|
+
word = []
|
16
|
+
else
|
17
|
+
word.push(MorseCode::DECODE_MAP[char] || char)
|
18
|
+
end
|
13
19
|
end
|
20
|
+
decode_words.push(word.join) if word.size > 0
|
14
21
|
end.join(' ')
|
15
22
|
end
|
16
23
|
|
data/lib/morse_code/encoder.rb
CHANGED
@@ -11,8 +11,10 @@ module MorseCode
|
|
11
11
|
@message.split(/\s+/).each do |word|
|
12
12
|
encode_word = []
|
13
13
|
word.each_char { |char| encode_word << (MorseCode::ENCODE_MAP[char] || char) }
|
14
|
+
encode_word.push('/')
|
14
15
|
encode_words.concat(encode_word)
|
15
16
|
end
|
17
|
+
encode_words.pop
|
16
18
|
end.join(' ')
|
17
19
|
end
|
18
20
|
|
data/lib/morse_code/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: morse-code-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- YingRui Lu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.11'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry-byebug
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.5'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.5'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rake
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -173,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
187
|
version: '0'
|
174
188
|
requirements: []
|
175
189
|
rubyforge_project:
|
176
|
-
rubygems_version: 2.
|
190
|
+
rubygems_version: 2.6.13
|
177
191
|
signing_key:
|
178
192
|
specification_version: 4
|
179
193
|
summary: Simple Morse Code Encode and Decode Tool
|