morse-code-rb 0.2.0 → 0.2.1
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 +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
|