cw 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 72ccadeafd51d75edae90d0f494a0ccfe735ab1a
4
- data.tar.gz: 1a975942e7a54e6db6745b2d5b5cd5a3fae176a1
3
+ metadata.gz: 537188b46a4831f8cd940de47cfb43cc6132d808
4
+ data.tar.gz: c6bab61e11fc00d6be7b050771447d75252f6405
5
5
  SHA512:
6
- metadata.gz: 025e1005cadcac8a29d9f31b2c50498c757749982ee32d78045dd1a71ada9b3a005b403076c49c91f2a87fd15734d87c9d4b848a871cb4d2ca2d4cfc1a1177a5
7
- data.tar.gz: 6aadbbecd1d18c43a864e29c12a066491bba27443ef411db412a2a92afe30ce9fefa55f3fa6279f8e76df461599c0bfb422a072bfee717cb5d3b2c14a41e9902
6
+ metadata.gz: 84542e912bc0fa2875c4e8498dfffc18b0f1daab024ae3ff0300cd166ed301a72cef5b223ea57c4a6593b0790e165a558123cbca51d3fb1972c16632bfd9ec5c
7
+ data.tar.gz: c4b5ac21b98efa1c0b4ee0b42d57a18e5a86f83c41d38ab73c3b45f681a33604ccca823bf48609dcc55339777366cc026f526234ab2836d40e939c4ef9c6ecd1
data/.gitignore CHANGED
@@ -26,3 +26,9 @@ doc/
26
26
  /.ruby_version/
27
27
 
28
28
  audio/audio_output.wav
29
+ /audio/dash.wav
30
+ /audio/audio_output.wav
31
+ /audio/dot.wav
32
+ /audio/e_space.wav
33
+ /audio/space.wav
34
+ /audio/audio_output.wav0000.mp3
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 beginning with b (test letters)'
94
+ test.comment 'test words ending with "ing" (test letters)'
95
95
  test.shuffle
96
96
  test.wpm wpm
97
- test.beginning_with 'b'
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 beginning with b (test words)'
104
+ test.comment 'test words including "th" (test words)'
105
105
  test.shuffle
106
106
  test.wpm wpm
107
- test.beginning_with 'b'
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 beginning with b (print letters)'
114
+ test.comment 'test words no longer than 6 letters (test letters)'
115
115
  test.shuffle
116
116
  test.wpm wpm
117
- test.beginning_with 'b'
118
- test.word_size 4
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.1.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/stream'
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'
@@ -40,7 +40,7 @@ class AudioPlayer
40
40
  Process.kill(:TERM, @pid)
41
41
  Process.wait(@pid)
42
42
  rescue
43
- puts 'Error: Failed to kill pid ' + @pid
43
+ puts 'Error: Failed to kill pid ' + @pid.to_s
44
44
  exit 1
45
45
  end
46
46
  end
@@ -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
- e = encode_a_n().merge!(encode_0_2);
11
- (e.merge(encode_3_space))[char]
19
+ encodings[char]
12
20
  end
13
21
 
14
22
  def encode_a_n
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- class Stream
3
+ class CwStream
4
4
 
5
5
  attr_accessor :active_region
6
6
 
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 ||= Stream.new ; end
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 TestStream < MiniTest::Test
142
+ class TestCwStream < MiniTest::Test
143
143
 
144
144
  def setup
145
- @stream = Stream.new
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.1.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
- - ".codeclimate.yml"
147
- - ".gitignore"
148
- - ".travis.yml"
149
- - ".yardoc/checksums"
150
- - ".yardoc/object_types"
151
- - ".yardoc/objects/root.dat"
152
- - ".yardoc/proxy_types"
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/audio_output.wav
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: '0'
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.5
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