cw 0.1.0 → 0.2.0
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/.gitignore +6 -0
- data/README.md +16 -8
- data/audio/.gitkeep +0 -0
- data/cw.gemspec +2 -1
- data/lib/cw.rb +1 -1
- data/lib/cw/audio_player.rb +1 -1
- data/lib/cw/cw_encoding.rb +10 -2
- data/lib/cw/{stream.rb → cw_stream.rb} +1 -1
- data/lib/cw/tester.rb +1 -1
- data/test/test_stream.rb +2 -2
- metadata +32 -37
- data/audio/audio_output.wav0000.mp3 +0 -0
- data/audio/dash.wav +0 -0
- data/audio/dot.wav +0 -0
- data/audio/e_space.wav +0 -0
- data/audio/space.wav +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 537188b46a4831f8cd940de47cfb43cc6132d808
|
4
|
+
data.tar.gz: c6bab61e11fc00d6be7b050771447d75252f6405
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84542e912bc0fa2875c4e8498dfffc18b0f1daab024ae3ff0300cd166ed301a72cef5b223ea57c4a6593b0790e165a558123cbca51d3fb1972c16632bfd9ec5c
|
7
|
+
data.tar.gz: c4b5ac21b98efa1c0b4ee0b42d57a18e5a86f83c41d38ab73c3b45f681a33604ccca823bf48609dcc55339777366cc026f526234ab2836d40e939c4ef9c6ecd1
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -81,7 +81,7 @@ ruby test/test_cw.rb
|
|
81
81
|
wpm = 16
|
82
82
|
|
83
83
|
test = CW.new
|
84
|
-
test.comment 'test words beginning with b (repeat word)'
|
84
|
+
test.comment 'test words beginning with "b" (repeat word)'
|
85
85
|
test.shuffle
|
86
86
|
test.wpm wpm
|
87
87
|
test.beginning_with 'b'
|
@@ -91,31 +91,39 @@ puts test.to_s
|
|
91
91
|
test.repeat_word
|
92
92
|
|
93
93
|
test = CW.new
|
94
|
-
test.comment 'test words
|
94
|
+
test.comment 'test words ending with "ing" (test letters)'
|
95
95
|
test.shuffle
|
96
96
|
test.wpm wpm
|
97
|
-
test.
|
97
|
+
test.ending_with 'e'
|
98
98
|
test.word_size 4
|
99
99
|
test.word_count 2
|
100
100
|
puts test.to_s
|
101
101
|
test.test_letters
|
102
102
|
|
103
103
|
test = CW.new
|
104
|
-
test.comment 'test words
|
104
|
+
test.comment 'test words including "th" (test words)'
|
105
105
|
test.shuffle
|
106
106
|
test.wpm wpm
|
107
|
-
test.
|
107
|
+
test.including 'th'
|
108
108
|
test.word_size 4
|
109
109
|
test.word_count 2
|
110
110
|
puts test.to_s
|
111
111
|
test.test_words
|
112
112
|
|
113
113
|
test = CW.new
|
114
|
-
test.comment 'test words
|
114
|
+
test.comment 'test words no longer than 6 letters (test letters)'
|
115
115
|
test.shuffle
|
116
116
|
test.wpm wpm
|
117
|
-
test.
|
118
|
-
test.
|
117
|
+
test.no_longer_than 6
|
118
|
+
test.word_count 2
|
119
|
+
puts test.to_s
|
120
|
+
test.test_letters
|
121
|
+
|
122
|
+
test = CW.new
|
123
|
+
test.comment 'test words no shorter than 6 letters (print letters)'
|
124
|
+
test.shuffle
|
125
|
+
test.wpm wpm
|
126
|
+
test.no_shorter_than 6
|
119
127
|
test.word_count 2
|
120
128
|
puts test.to_s
|
121
129
|
test.print_letters
|
data/audio/.gitkeep
ADDED
File without changes
|
data/cw.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'cw'
|
7
|
-
spec.version = '0.
|
7
|
+
spec.version = '0.2.0'
|
8
8
|
spec.date = '2016-05-21'
|
9
9
|
spec.authors = ["Martyn Jago"]
|
10
10
|
spec.email = ["martyn.jago@btinternet.com"]
|
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.files = `git ls-files`.split($/)
|
15
15
|
spec.license = 'MIT'
|
16
16
|
spec.require_paths = ["lib", "audio", "data/text", "test"]
|
17
|
+
spec.required_ruby_version = '>= 2.0.0'
|
17
18
|
|
18
19
|
spec.add_dependency('wavefile')
|
19
20
|
spec.add_dependency('paint')
|
data/lib/cw.rb
CHANGED
@@ -13,7 +13,7 @@ require_relative 'cw/words'
|
|
13
13
|
require_relative 'cw/cl'
|
14
14
|
require_relative 'cw/cw_params'
|
15
15
|
require_relative 'cw/key_input'
|
16
|
-
require_relative 'cw/
|
16
|
+
require_relative 'cw/cw_stream'
|
17
17
|
require_relative 'cw/timing'
|
18
18
|
require_relative 'cw/print'
|
19
19
|
require_relative 'cw/audio_player'
|
data/lib/cw/audio_player.rb
CHANGED
data/lib/cw/cw_encoding.rb
CHANGED
@@ -6,9 +6,17 @@
|
|
6
6
|
encode(char)
|
7
7
|
end
|
8
8
|
|
9
|
+
def encodings
|
10
|
+
@encodings ||= construct_encodings
|
11
|
+
end
|
12
|
+
|
13
|
+
def construct_encodings
|
14
|
+
@encodings = encode_a_n().merge(encode_0_2);
|
15
|
+
@encodings.merge!(encode_3_space)
|
16
|
+
end
|
17
|
+
|
9
18
|
def encode char
|
10
|
-
|
11
|
-
(e.merge(encode_3_space))[char]
|
19
|
+
encodings[char]
|
12
20
|
end
|
13
21
|
|
14
22
|
def encode_a_n
|
data/lib/cw/tester.rb
CHANGED
@@ -19,7 +19,7 @@ module Tester
|
|
19
19
|
def key_input ; @key_input ||= KeyInput.new ; end
|
20
20
|
def is_relevant_char? ; key_input.is_relevant_char? ; end
|
21
21
|
def quit_key_input? ; key_input.quit_input? ; end
|
22
|
-
def stream ; @stream ||=
|
22
|
+
def stream ; @stream ||= CwStream.new ; end
|
23
23
|
def reset_stdin ; key_input.reset_stdin ; end
|
24
24
|
def current_word ; @current_word ||= CurrentWord.new ; end
|
25
25
|
def init_char_timer ; timing.init_char_timer ; end
|
data/test/test_stream.rb
CHANGED
@@ -139,10 +139,10 @@ require_relative '../lib/cw/stream'
|
|
139
139
|
# end
|
140
140
|
# end
|
141
141
|
|
142
|
-
class
|
142
|
+
class TestCwStream < MiniTest::Test
|
143
143
|
|
144
144
|
def setup
|
145
|
-
@stream =
|
145
|
+
@stream = CwStream.new
|
146
146
|
end
|
147
147
|
|
148
148
|
def test_assert
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martyn Jago
|
@@ -14,126 +14,126 @@ dependencies:
|
|
14
14
|
name: wavefile
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: paint
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: feedjira
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: htmlentities
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sanitize
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: ruby-progressbar
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - '>='
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: minitest
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - '>='
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - '>='
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: simplecov
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - '>='
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - '>='
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
description: A ruby library to help learn and practice morse code
|
@@ -143,23 +143,18 @@ executables: []
|
|
143
143
|
extensions: []
|
144
144
|
extra_rdoc_files: []
|
145
145
|
files:
|
146
|
-
-
|
147
|
-
-
|
148
|
-
-
|
149
|
-
-
|
150
|
-
-
|
151
|
-
-
|
152
|
-
-
|
146
|
+
- .codeclimate.yml
|
147
|
+
- .gitignore
|
148
|
+
- .travis.yml
|
149
|
+
- .yardoc/checksums
|
150
|
+
- .yardoc/object_types
|
151
|
+
- .yardoc/objects/root.dat
|
152
|
+
- .yardoc/proxy_types
|
153
153
|
- Gemfile
|
154
154
|
- LICENSE
|
155
155
|
- README.md
|
156
156
|
- Rakefile
|
157
|
-
- audio
|
158
|
-
- audio/audio_output.wav0000.mp3
|
159
|
-
- audio/dash.wav
|
160
|
-
- audio/dot.wav
|
161
|
-
- audio/e_space.wav
|
162
|
-
- audio/space.wav
|
157
|
+
- audio/.gitkeep
|
163
158
|
- cw.gemspec
|
164
159
|
- daily.rb
|
165
160
|
- data/text/abbreviations.txt
|
@@ -179,6 +174,7 @@ files:
|
|
179
174
|
- lib/cw/cw_dsl.rb
|
180
175
|
- lib/cw/cw_encoding.rb
|
181
176
|
- lib/cw/cw_params.rb
|
177
|
+
- lib/cw/cw_stream.rb
|
182
178
|
- lib/cw/cw_threads.rb
|
183
179
|
- lib/cw/file_details.rb
|
184
180
|
- lib/cw/key_input.rb
|
@@ -194,7 +190,6 @@ files:
|
|
194
190
|
- lib/cw/speak.rb
|
195
191
|
- lib/cw/spoken.rb
|
196
192
|
- lib/cw/str.rb
|
197
|
-
- lib/cw/stream.rb
|
198
193
|
- lib/cw/test_letters.rb
|
199
194
|
- lib/cw/test_words.rb
|
200
195
|
- lib/cw/tester.rb
|
@@ -218,17 +213,17 @@ require_paths:
|
|
218
213
|
- test
|
219
214
|
required_ruby_version: !ruby/object:Gem::Requirement
|
220
215
|
requirements:
|
221
|
-
- -
|
216
|
+
- - '>='
|
222
217
|
- !ruby/object:Gem::Version
|
223
|
-
version:
|
218
|
+
version: 2.0.0
|
224
219
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
225
220
|
requirements:
|
226
|
-
- -
|
221
|
+
- - '>='
|
227
222
|
- !ruby/object:Gem::Version
|
228
223
|
version: '0'
|
229
224
|
requirements: []
|
230
225
|
rubyforge_project:
|
231
|
-
rubygems_version: 2.4.
|
226
|
+
rubygems_version: 2.4.8
|
232
227
|
signing_key:
|
233
228
|
specification_version: 4
|
234
229
|
summary: CW tutor / exerciser
|
Binary file
|
data/audio/dash.wav
DELETED
Binary file
|
data/audio/dot.wav
DELETED
Binary file
|
data/audio/e_space.wav
DELETED
Binary file
|
data/audio/space.wav
DELETED
Binary file
|