ruby_speech 0.5.0 → 0.5.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.
- data/CHANGELOG.md +5 -0
- data/lib/ruby_speech.rb +1 -0
- data/lib/ruby_speech/generic_element.rb +1 -0
- data/lib/ruby_speech/grxml.rb +1 -0
- data/lib/ruby_speech/grxml/element.rb +17 -0
- data/lib/ruby_speech/grxml/grammar.rb +21 -3
- data/lib/ruby_speech/grxml/item.rb +36 -7
- data/lib/ruby_speech/grxml/one_of.rb +4 -0
- data/lib/ruby_speech/grxml/potential_match.rb +10 -0
- data/lib/ruby_speech/grxml/token.rb +4 -0
- data/lib/ruby_speech/version.rb +1 -1
- data/spec/ruby_speech/grxml/grammar_spec.rb +226 -8
- data/spec/ruby_speech/grxml/item_spec.rb +427 -13
- data/spec/ruby_speech/grxml/one_of_spec.rb +237 -0
- data/spec/ruby_speech/grxml/potential_match_spec.rb +17 -0
- data/spec/ruby_speech/grxml/token_spec.rb +5 -0
- metadata +116 -176
@@ -45,6 +45,243 @@ module RubySpeech
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
+
describe "#potential_match?" do
|
49
|
+
before do
|
50
|
+
items.each { |item| subject << item }
|
51
|
+
end
|
52
|
+
|
53
|
+
context "with a single item of '6'" do
|
54
|
+
let(:items) { [Item.new << (Token.new << '6')] }
|
55
|
+
|
56
|
+
it "should be true for '6'" do
|
57
|
+
subject.potential_match?('6').should be true
|
58
|
+
end
|
59
|
+
|
60
|
+
%w{5 7}.each do |input|
|
61
|
+
it "should be false for '#{input}'" do
|
62
|
+
subject.potential_match?(input).should be false
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context "with options of '6' or '7'" do
|
68
|
+
let(:items) { [Item.new << (Token.new << '6'), Item.new << (Token.new << '7')] }
|
69
|
+
|
70
|
+
%w{6 7}.each do |input|
|
71
|
+
it "should be true for '#{input}'" do
|
72
|
+
subject.potential_match?(input).should be true
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
%w{5 8 67 76}.each do |input|
|
77
|
+
it "should be false for '#{input}'" do
|
78
|
+
subject.potential_match?(input).should be false
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
context "with options of '67' or '25'" do
|
84
|
+
let(:items) { [Item.new << (Token.new << '6') << (Token.new << '7'), Item.new << (Token.new << '2') << (Token.new << '5')] }
|
85
|
+
|
86
|
+
%w{6 2}.each do |input|
|
87
|
+
it "should be true for '#{input}'" do
|
88
|
+
subject.potential_match?(input).should be true
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
%w{3 7 5 65 27 76 52}.each do |input|
|
93
|
+
it "should be false for '#{input}'" do
|
94
|
+
subject.potential_match?(input).should be false
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
context "with options of '678' or '251'" do
|
100
|
+
let(:items) { [Item.new << (Token.new << '6') << (Token.new << '7') << (Token.new << '8'), Item.new << (Token.new << '2') << (Token.new << '5') << (Token.new << '1')] }
|
101
|
+
|
102
|
+
%w{6 67 2 25}.each do |input|
|
103
|
+
it "should be true for '#{input}'" do
|
104
|
+
subject.potential_match?(input).should be true
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
%w{3 7 5 65 27 76 52}.each do |input|
|
109
|
+
it "should be false for '#{input}'" do
|
110
|
+
subject.potential_match?(input).should be false
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
context "with options of '6' or ('7' repeated twice)" do
|
116
|
+
let(:items) { [Item.new << (Token.new << '6'), Item.new << (Item.new(:repeat => 2) << (Token.new << '7'))] }
|
117
|
+
|
118
|
+
%w{6 7 77}.each do |input|
|
119
|
+
it "should be true for '#{input}'" do
|
120
|
+
pending
|
121
|
+
subject.potential_match?(input).should be true
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
%w{5 67 76 66}.each do |input|
|
126
|
+
it "should be false for '#{input}'" do
|
127
|
+
subject.potential_match?(input).should be false
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
describe "#longest_potential_match" do
|
134
|
+
before do
|
135
|
+
items.each { |item| subject << item }
|
136
|
+
end
|
137
|
+
|
138
|
+
context "with a single item of '6'" do
|
139
|
+
let(:items) { [Item.new << (Token.new << '6')] }
|
140
|
+
|
141
|
+
%w{6 65 6776}.each do |input|
|
142
|
+
it "should be '6' for '#{input}'" do
|
143
|
+
subject.longest_potential_match(input).should == '6'
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
%w{5 7 55 56}.each do |input|
|
148
|
+
it "should be '' for '#{input}'" do
|
149
|
+
subject.longest_potential_match(input).should == ''
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
context "with options of '6' or '7'" do
|
155
|
+
let(:items) { [Item.new << (Token.new << '6'), Item.new << (Token.new << '7')] }
|
156
|
+
|
157
|
+
%w{6 65 6776}.each do |input|
|
158
|
+
it "should be '6' for '#{input}'" do
|
159
|
+
subject.longest_potential_match(input).should == '6'
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
%w{7 74 726}.each do |input|
|
164
|
+
it "should be '7' for '#{input}'" do
|
165
|
+
subject.longest_potential_match(input).should == '7'
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
%w{5 55 56}.each do |input|
|
170
|
+
it "should be '' for '#{input}'" do
|
171
|
+
subject.longest_potential_match(input).should == ''
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
context "with options of '67' or '25'" do
|
177
|
+
let(:items) { [Item.new << (Token.new << '6') << (Token.new << '7'), Item.new << (Token.new << '2') << (Token.new << '5')] }
|
178
|
+
|
179
|
+
%w{6}.each do |input|
|
180
|
+
it "should be '6' for '#{input}'" do
|
181
|
+
subject.longest_potential_match(input).should == '6'
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
%w{67 675 6767 6756}.each do |input|
|
186
|
+
it "should be '67' for '#{input}'" do
|
187
|
+
subject.longest_potential_match(input).should == '67'
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
%w{2}.each do |input|
|
192
|
+
it "should be '2' for '#{input}'" do
|
193
|
+
subject.longest_potential_match(input).should == '2'
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
%w{25 259 2525 2567}.each do |input|
|
198
|
+
it "should be '25' for '#{input}'" do
|
199
|
+
subject.longest_potential_match(input).should == '25'
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
%w{5 7 72 56}.each do |input|
|
204
|
+
it "should be '' for '#{input}'" do
|
205
|
+
subject.longest_potential_match(input).should == ''
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
context "with options of '678' or '251'" do
|
211
|
+
let(:items) { [Item.new << (Token.new << '6') << (Token.new << '7') << (Token.new << '8'), Item.new << (Token.new << '2') << (Token.new << '5') << (Token.new << '1')] }
|
212
|
+
|
213
|
+
%w{6}.each do |input|
|
214
|
+
it "should be '6' for '#{input}'" do
|
215
|
+
subject.longest_potential_match(input).should == '6'
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
%w{67 675 6767 6756}.each do |input|
|
220
|
+
it "should be '67' for '#{input}'" do
|
221
|
+
subject.longest_potential_match(input).should == '67'
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
%w{678 6785 678678 67856}.each do |input|
|
226
|
+
it "should be '678' for '#{input}'" do
|
227
|
+
subject.longest_potential_match(input).should == '678'
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
%w{2}.each do |input|
|
232
|
+
it "should be '2' for '#{input}'" do
|
233
|
+
subject.longest_potential_match(input).should == '2'
|
234
|
+
end
|
235
|
+
end
|
236
|
+
|
237
|
+
%w{25 259 2525 2567}.each do |input|
|
238
|
+
it "should be '25' for '#{input}'" do
|
239
|
+
subject.longest_potential_match(input).should == '25'
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
%w{251 2519 251251 25167}.each do |input|
|
244
|
+
it "should be '251' for '#{input}'" do
|
245
|
+
subject.longest_potential_match(input).should == '251'
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
%w{5 7 72 56}.each do |input|
|
250
|
+
it "should be '' for '#{input}'" do
|
251
|
+
subject.longest_potential_match(input).should == ''
|
252
|
+
end
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
256
|
+
context "with options of '6' or '7' repeated twice" do
|
257
|
+
let(:items) { [Item.new << (Token.new << '6'), Item.new << (Item.new(:repeat => 2) << (Token.new << '7'))] }
|
258
|
+
|
259
|
+
%w{6 65 6776}.each do |input|
|
260
|
+
it "should be '6' for '#{input}'" do
|
261
|
+
subject.longest_potential_match(input).should == '6'
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
265
|
+
%w{7 74 726}.each do |input|
|
266
|
+
it "should be '7' for '#{input}'" do
|
267
|
+
subject.longest_potential_match(input).should == '7'
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
%w{7 77 774 7726}.each do |input|
|
272
|
+
it "should be '77' for '#{input}'" do
|
273
|
+
pending
|
274
|
+
subject.longest_potential_match(input).should == '77'
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
278
|
+
%w{5 55 56}.each do |input|
|
279
|
+
it "should be '' for '#{input}'" do
|
280
|
+
subject.longest_potential_match(input).should == ''
|
281
|
+
end
|
282
|
+
end
|
283
|
+
end
|
284
|
+
end
|
48
285
|
end # OneOf
|
49
286
|
end # GRXML
|
50
287
|
end # RubySpeech
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module RubySpeech
|
4
|
+
module GRXML
|
5
|
+
describe PotentialMatch do
|
6
|
+
describe "equality" do
|
7
|
+
it "should be equal to another PotentialMatch" do
|
8
|
+
PotentialMatch.new.should == PotentialMatch.new
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should not equal a match" do
|
12
|
+
PotentialMatch.new.should_not == Match.new
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -51,6 +51,11 @@ module RubySpeech
|
|
51
51
|
it "should accept String" do
|
52
52
|
lambda { subject << 'anything' }.should_not raise_error
|
53
53
|
end
|
54
|
+
|
55
|
+
it "should allow chaining" do
|
56
|
+
subject << 'foo' << 'bar'
|
57
|
+
subject.content.should == 'foobar'
|
58
|
+
end
|
54
59
|
end
|
55
60
|
end # Token
|
56
61
|
end # GRXML
|
metadata
CHANGED
@@ -1,215 +1,155 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_speech
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 5
|
9
|
-
- 0
|
10
|
-
version: 0.5.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Ben Langfeld
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-01-09 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: niceogiri
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &2157608980 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 25
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 1
|
33
|
-
- 1
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
34
21
|
version: 0.1.1
|
35
22
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: activesupport
|
39
23
|
prerelease: false
|
40
|
-
|
24
|
+
version_requirements: *2157608980
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: activesupport
|
27
|
+
requirement: &2157608380 !ruby/object:Gem::Requirement
|
41
28
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 9
|
46
|
-
segments:
|
47
|
-
- 3
|
48
|
-
- 0
|
49
|
-
- 7
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
50
32
|
version: 3.0.7
|
51
33
|
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: bundler
|
55
34
|
prerelease: false
|
56
|
-
|
35
|
+
version_requirements: *2157608380
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: bundler
|
38
|
+
requirement: &2157607340 !ruby/object:Gem::Requirement
|
57
39
|
none: false
|
58
|
-
requirements:
|
40
|
+
requirements:
|
59
41
|
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
hash: 23
|
62
|
-
segments:
|
63
|
-
- 1
|
64
|
-
- 0
|
65
|
-
- 0
|
42
|
+
- !ruby/object:Gem::Version
|
66
43
|
version: 1.0.0
|
67
44
|
type: :development
|
68
|
-
version_requirements: *id003
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec
|
71
45
|
prerelease: false
|
72
|
-
|
46
|
+
version_requirements: *2157607340
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rspec
|
49
|
+
requirement: &2157606780 !ruby/object:Gem::Requirement
|
73
50
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
hash: 19
|
78
|
-
segments:
|
79
|
-
- 2
|
80
|
-
- 7
|
81
|
-
- 0
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
82
54
|
version: 2.7.0
|
83
55
|
type: :development
|
84
|
-
version_requirements: *id004
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: ci_reporter
|
87
56
|
prerelease: false
|
88
|
-
|
57
|
+
version_requirements: *2157606780
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: ci_reporter
|
60
|
+
requirement: &2157606300 !ruby/object:Gem::Requirement
|
89
61
|
none: false
|
90
|
-
requirements:
|
91
|
-
- -
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
hash: 9
|
94
|
-
segments:
|
95
|
-
- 1
|
96
|
-
- 6
|
97
|
-
- 3
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
98
65
|
version: 1.6.3
|
99
66
|
type: :development
|
100
|
-
version_requirements: *id005
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: yard
|
103
67
|
prerelease: false
|
104
|
-
|
68
|
+
version_requirements: *2157606300
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: yard
|
71
|
+
requirement: &2157605820 !ruby/object:Gem::Requirement
|
105
72
|
none: false
|
106
|
-
requirements:
|
73
|
+
requirements:
|
107
74
|
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
hash: 3
|
110
|
-
segments:
|
111
|
-
- 0
|
112
|
-
- 7
|
113
|
-
- 0
|
75
|
+
- !ruby/object:Gem::Version
|
114
76
|
version: 0.7.0
|
115
77
|
type: :development
|
116
|
-
version_requirements: *id006
|
117
|
-
- !ruby/object:Gem::Dependency
|
118
|
-
name: rake
|
119
78
|
prerelease: false
|
120
|
-
|
79
|
+
version_requirements: *2157605820
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rake
|
82
|
+
requirement: &2157605100 !ruby/object:Gem::Requirement
|
121
83
|
none: false
|
122
|
-
requirements:
|
123
|
-
- -
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
|
126
|
-
segments:
|
127
|
-
- 0
|
128
|
-
version: "0"
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
129
88
|
type: :development
|
130
|
-
version_requirements: *id007
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: mocha
|
133
89
|
prerelease: false
|
134
|
-
|
90
|
+
version_requirements: *2157605100
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: mocha
|
93
|
+
requirement: &2157604620 !ruby/object:Gem::Requirement
|
135
94
|
none: false
|
136
|
-
requirements:
|
137
|
-
- -
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
|
140
|
-
segments:
|
141
|
-
- 0
|
142
|
-
version: "0"
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
143
99
|
type: :development
|
144
|
-
version_requirements: *id008
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: i18n
|
147
100
|
prerelease: false
|
148
|
-
|
101
|
+
version_requirements: *2157604620
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: i18n
|
104
|
+
requirement: &2157603940 !ruby/object:Gem::Requirement
|
149
105
|
none: false
|
150
|
-
requirements:
|
151
|
-
- -
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
|
154
|
-
segments:
|
155
|
-
- 0
|
156
|
-
version: "0"
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
157
110
|
type: :development
|
158
|
-
version_requirements: *id009
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: guard
|
161
111
|
prerelease: false
|
162
|
-
|
112
|
+
version_requirements: *2157603940
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: guard
|
115
|
+
requirement: &2157603200 !ruby/object:Gem::Requirement
|
163
116
|
none: false
|
164
|
-
requirements:
|
165
|
-
- -
|
166
|
-
- !ruby/object:Gem::Version
|
167
|
-
hash: 59
|
168
|
-
segments:
|
169
|
-
- 0
|
170
|
-
- 9
|
171
|
-
- 0
|
117
|
+
requirements:
|
118
|
+
- - ! '>='
|
119
|
+
- !ruby/object:Gem::Version
|
172
120
|
version: 0.9.0
|
173
121
|
type: :development
|
174
|
-
version_requirements: *id010
|
175
|
-
- !ruby/object:Gem::Dependency
|
176
|
-
name: guard-rspec
|
177
122
|
prerelease: false
|
178
|
-
|
123
|
+
version_requirements: *2157603200
|
124
|
+
- !ruby/object:Gem::Dependency
|
125
|
+
name: guard-rspec
|
126
|
+
requirement: &2157602480 !ruby/object:Gem::Requirement
|
179
127
|
none: false
|
180
|
-
requirements:
|
181
|
-
- -
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
|
184
|
-
segments:
|
185
|
-
- 0
|
186
|
-
version: "0"
|
128
|
+
requirements:
|
129
|
+
- - ! '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
187
132
|
type: :development
|
188
|
-
version_requirements: *id011
|
189
|
-
- !ruby/object:Gem::Dependency
|
190
|
-
name: ruby_gntp
|
191
133
|
prerelease: false
|
192
|
-
|
134
|
+
version_requirements: *2157602480
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: ruby_gntp
|
137
|
+
requirement: &2157601680 !ruby/object:Gem::Requirement
|
193
138
|
none: false
|
194
|
-
requirements:
|
195
|
-
- -
|
196
|
-
- !ruby/object:Gem::Version
|
197
|
-
|
198
|
-
segments:
|
199
|
-
- 0
|
200
|
-
version: "0"
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
201
143
|
type: :development
|
202
|
-
|
144
|
+
prerelease: false
|
145
|
+
version_requirements: *2157601680
|
203
146
|
description: Prepare SSML and GRXML documents with ease
|
204
|
-
email:
|
147
|
+
email:
|
205
148
|
- ben@langfeld.me
|
206
149
|
executables: []
|
207
|
-
|
208
150
|
extensions: []
|
209
|
-
|
210
151
|
extra_rdoc_files: []
|
211
|
-
|
212
|
-
files:
|
152
|
+
files:
|
213
153
|
- .gitignore
|
214
154
|
- .rspec
|
215
155
|
- .travis.yml
|
@@ -233,6 +173,7 @@ files:
|
|
233
173
|
- lib/ruby_speech/grxml/match.rb
|
234
174
|
- lib/ruby_speech/grxml/no_match.rb
|
235
175
|
- lib/ruby_speech/grxml/one_of.rb
|
176
|
+
- lib/ruby_speech/grxml/potential_match.rb
|
236
177
|
- lib/ruby_speech/grxml/rule.rb
|
237
178
|
- lib/ruby_speech/grxml/ruleref.rb
|
238
179
|
- lib/ruby_speech/grxml/tag.rb
|
@@ -261,6 +202,7 @@ files:
|
|
261
202
|
- spec/ruby_speech/grxml/match_spec.rb
|
262
203
|
- spec/ruby_speech/grxml/no_match_spec.rb
|
263
204
|
- spec/ruby_speech/grxml/one_of_spec.rb
|
205
|
+
- spec/ruby_speech/grxml/potential_match_spec.rb
|
264
206
|
- spec/ruby_speech/grxml/rule_spec.rb
|
265
207
|
- spec/ruby_speech/grxml/ruleref_spec.rb
|
266
208
|
- spec/ruby_speech/grxml/tag_spec.rb
|
@@ -282,46 +224,43 @@ files:
|
|
282
224
|
- spec/ruby_speech/ssml_spec.rb
|
283
225
|
- spec/spec_helper.rb
|
284
226
|
- spec/support/matchers.rb
|
285
|
-
has_rdoc: true
|
286
227
|
homepage: https://github.com/benlangfeld/ruby_speech
|
287
228
|
licenses: []
|
288
|
-
|
289
229
|
post_install_message:
|
290
230
|
rdoc_options: []
|
291
|
-
|
292
|
-
require_paths:
|
231
|
+
require_paths:
|
293
232
|
- lib
|
294
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
233
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
295
234
|
none: false
|
296
|
-
requirements:
|
297
|
-
- -
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
|
300
|
-
segments:
|
235
|
+
requirements:
|
236
|
+
- - ! '>='
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: '0'
|
239
|
+
segments:
|
301
240
|
- 0
|
302
|
-
|
303
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
|
+
hash: 4175353066931902449
|
242
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
304
243
|
none: false
|
305
|
-
requirements:
|
306
|
-
- -
|
307
|
-
- !ruby/object:Gem::Version
|
308
|
-
|
309
|
-
segments:
|
244
|
+
requirements:
|
245
|
+
- - ! '>='
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: '0'
|
248
|
+
segments:
|
310
249
|
- 0
|
311
|
-
|
250
|
+
hash: 4175353066931902449
|
312
251
|
requirements: []
|
313
|
-
|
314
252
|
rubyforge_project: ruby_speech
|
315
|
-
rubygems_version: 1.
|
253
|
+
rubygems_version: 1.8.10
|
316
254
|
signing_key:
|
317
255
|
specification_version: 3
|
318
256
|
summary: A ruby library for TTS & ASR document preparation
|
319
|
-
test_files:
|
257
|
+
test_files:
|
320
258
|
- spec/ruby_speech/grxml/grammar_spec.rb
|
321
259
|
- spec/ruby_speech/grxml/item_spec.rb
|
322
260
|
- spec/ruby_speech/grxml/match_spec.rb
|
323
261
|
- spec/ruby_speech/grxml/no_match_spec.rb
|
324
262
|
- spec/ruby_speech/grxml/one_of_spec.rb
|
263
|
+
- spec/ruby_speech/grxml/potential_match_spec.rb
|
325
264
|
- spec/ruby_speech/grxml/rule_spec.rb
|
326
265
|
- spec/ruby_speech/grxml/ruleref_spec.rb
|
327
266
|
- spec/ruby_speech/grxml/tag_spec.rb
|
@@ -343,3 +282,4 @@ test_files:
|
|
343
282
|
- spec/ruby_speech/ssml_spec.rb
|
344
283
|
- spec/spec_helper.rb
|
345
284
|
- spec/support/matchers.rb
|
285
|
+
has_rdoc:
|