ruby_speech 2.1.1-java → 2.1.2-java
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 +3 -0
- data/lib/ruby_speech/nlsml/document.rb +10 -13
- data/lib/ruby_speech/version.rb +1 -1
- data/spec/ruby_speech/nlsml_spec.rb +35 -0
- metadata +49 -61
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# [develop](https://github.com/benlangfeld/ruby_speech)
|
2
2
|
|
3
|
+
# [2.1.2](https://github.com/benlangfeld/ruby_speech/compare/v2.1.1...v2.1.2) - [2013-06-05](https://rubygems.org/gems/ruby_speech/versions/2.1.2)
|
4
|
+
* Bugfix: Allow wrapping a pre-parsed XML node nested arbitrary deeply as an NLSML document
|
5
|
+
|
3
6
|
# [2.1.1](https://github.com/benlangfeld/ruby_speech/compare/v2.1.0...v2.1.1) - [2013-05-09](https://rubygems.org/gems/ruby_speech/versions/2.1.1)
|
4
7
|
* Bugfix: Support numeric SISR literal tags
|
5
8
|
|
@@ -4,15 +4,16 @@ module RubySpeech
|
|
4
4
|
module NLSML
|
5
5
|
class Document < SimpleDelegator
|
6
6
|
def initialize(xml)
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
result = xml.respond_to?(:root) ? xml.root : xml
|
8
|
+
unless result.namespace
|
9
|
+
result.default_namespace = NLSML_NAMESPACE
|
10
|
+
result = Nokogiri::XML.parse(xml.to_xml, nil, nil, Nokogiri::XML::ParseOptions::NOBLANKS).root
|
10
11
|
end
|
11
|
-
super
|
12
|
+
super result
|
12
13
|
end
|
13
14
|
|
14
15
|
def grammar
|
15
|
-
|
16
|
+
self['grammar']
|
16
17
|
end
|
17
18
|
|
18
19
|
def interpretations
|
@@ -44,15 +45,15 @@ module RubySpeech
|
|
44
45
|
end
|
45
46
|
|
46
47
|
def nomatch_elements
|
47
|
-
|
48
|
+
xpath 'ns:interpretation/ns:input/ns:nomatch', 'ns' => NLSML_NAMESPACE
|
48
49
|
end
|
49
50
|
|
50
51
|
def noinput_elements
|
51
|
-
|
52
|
+
xpath 'ns:interpretation/ns:input/ns:noinput', 'ns' => NLSML_NAMESPACE
|
52
53
|
end
|
53
54
|
|
54
55
|
def input_elements
|
55
|
-
|
56
|
+
xpath 'ns:interpretation/ns:input', 'ns' => NLSML_NAMESPACE
|
56
57
|
end
|
57
58
|
|
58
59
|
def input_hash_for_interpretation(interpretation)
|
@@ -107,12 +108,8 @@ module RubySpeech
|
|
107
108
|
}
|
108
109
|
end
|
109
110
|
|
110
|
-
def result
|
111
|
-
root
|
112
|
-
end
|
113
|
-
|
114
111
|
def interpretation_nodes
|
115
|
-
nodes =
|
112
|
+
nodes = xpath 'ns:interpretation', 'ns' => NLSML_NAMESPACE
|
116
113
|
nodes.sort_by { |int| -int[:confidence].to_f }
|
117
114
|
end
|
118
115
|
end
|
data/lib/ruby_speech/version.rb
CHANGED
@@ -124,6 +124,41 @@ describe RubySpeech::NLSML do
|
|
124
124
|
subject.should_not be == RubySpeech.parse(empty_result)
|
125
125
|
end
|
126
126
|
|
127
|
+
context "when the XML is already parsed and is not the root of a document" do
|
128
|
+
let :example_document do
|
129
|
+
'''
|
130
|
+
<foo>
|
131
|
+
<result xmlns="http://www.ietf.org/xml/ns/mrcpv2" grammar="http://flight">
|
132
|
+
<interpretation confidence="0.6">
|
133
|
+
<input mode="speech">I want to go to Pittsburgh</input>
|
134
|
+
<instance>
|
135
|
+
<airline>
|
136
|
+
<to_city>Pittsburgh</to_city>
|
137
|
+
</airline>
|
138
|
+
</instance>
|
139
|
+
</interpretation>
|
140
|
+
<interpretation confidence="0.4">
|
141
|
+
<input>I want to go to Stockholm</input>
|
142
|
+
<instance>
|
143
|
+
<airline>
|
144
|
+
<to_city>Stockholm</to_city>
|
145
|
+
</airline>
|
146
|
+
</instance>
|
147
|
+
</interpretation>
|
148
|
+
</result>
|
149
|
+
</foo>
|
150
|
+
'''
|
151
|
+
end
|
152
|
+
|
153
|
+
let(:node) { Nokogiri::XML(example_document).at_xpath('//mrcp:result', mrcp: "http://www.ietf.org/xml/ns/mrcpv2") }
|
154
|
+
|
155
|
+
subject do
|
156
|
+
RubySpeech::NLSML::Document.new node
|
157
|
+
end
|
158
|
+
|
159
|
+
its(:grammar) { should == 'http://flight' }
|
160
|
+
end
|
161
|
+
|
127
162
|
context "with an interpretation that has no instance" do
|
128
163
|
let :example_document do
|
129
164
|
'''
|
metadata
CHANGED
@@ -2,32 +2,32 @@
|
|
2
2
|
name: ruby_speech
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.1.
|
5
|
+
version: 2.1.2
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- Ben Langfeld
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-06-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: niceogiri
|
16
16
|
version_requirements: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ~>
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '1.1'
|
21
|
-
- -
|
21
|
+
- - '>='
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 1.1.2
|
24
24
|
none: false
|
25
25
|
requirement: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '1.1'
|
30
|
-
- -
|
30
|
+
- - '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.1.2
|
33
33
|
none: false
|
@@ -37,19 +37,19 @@ dependencies:
|
|
37
37
|
name: nokogiri
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - ~>
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '1.5'
|
43
|
-
- -
|
43
|
+
- - '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 1.5.6
|
46
46
|
none: false
|
47
47
|
requirement: !ruby/object:Gem::Requirement
|
48
48
|
requirements:
|
49
|
-
- -
|
49
|
+
- - ~>
|
50
50
|
- !ruby/object:Gem::Version
|
51
51
|
version: '1.5'
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.5.6
|
55
55
|
none: false
|
@@ -59,13 +59,13 @@ dependencies:
|
|
59
59
|
name: activesupport
|
60
60
|
version_requirements: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
|
-
- -
|
62
|
+
- - '>='
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: 3.0.7
|
65
65
|
none: false
|
66
66
|
requirement: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
|
-
- -
|
68
|
+
- - '>='
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: 3.0.7
|
71
71
|
none: false
|
@@ -75,13 +75,13 @@ dependencies:
|
|
75
75
|
name: bundler
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- -
|
78
|
+
- - '>='
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: 1.0.0
|
81
81
|
none: false
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
|
-
- -
|
84
|
+
- - '>='
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: 1.0.0
|
87
87
|
none: false
|
@@ -91,13 +91,13 @@ dependencies:
|
|
91
91
|
name: rspec
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - '>='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '2.7'
|
97
97
|
none: false
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- -
|
100
|
+
- - '>='
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '2.7'
|
103
103
|
none: false
|
@@ -107,13 +107,13 @@ dependencies:
|
|
107
107
|
name: ci_reporter
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
|
-
- -
|
110
|
+
- - '>='
|
111
111
|
- !ruby/object:Gem::Version
|
112
112
|
version: 1.6.3
|
113
113
|
none: false
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
|
-
- -
|
116
|
+
- - '>='
|
117
117
|
- !ruby/object:Gem::Version
|
118
118
|
version: 1.6.3
|
119
119
|
none: false
|
@@ -123,13 +123,13 @@ dependencies:
|
|
123
123
|
name: yard
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
125
125
|
requirements:
|
126
|
-
- -
|
126
|
+
- - '>='
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: 0.7.0
|
129
129
|
none: false
|
130
130
|
requirement: !ruby/object:Gem::Requirement
|
131
131
|
requirements:
|
132
|
-
- -
|
132
|
+
- - '>='
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: 0.7.0
|
135
135
|
none: false
|
@@ -139,17 +139,15 @@ dependencies:
|
|
139
139
|
name: rake
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- -
|
142
|
+
- - '>='
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
145
|
-
MA==
|
144
|
+
version: '0'
|
146
145
|
none: false
|
147
146
|
requirement: !ruby/object:Gem::Requirement
|
148
147
|
requirements:
|
149
|
-
- -
|
148
|
+
- - '>='
|
150
149
|
- !ruby/object:Gem::Version
|
151
|
-
version:
|
152
|
-
MA==
|
150
|
+
version: '0'
|
153
151
|
none: false
|
154
152
|
prerelease: false
|
155
153
|
type: :development
|
@@ -157,13 +155,13 @@ dependencies:
|
|
157
155
|
name: guard
|
158
156
|
version_requirements: !ruby/object:Gem::Requirement
|
159
157
|
requirements:
|
160
|
-
- -
|
158
|
+
- - '>='
|
161
159
|
- !ruby/object:Gem::Version
|
162
160
|
version: 0.9.0
|
163
161
|
none: false
|
164
162
|
requirement: !ruby/object:Gem::Requirement
|
165
163
|
requirements:
|
166
|
-
- -
|
164
|
+
- - '>='
|
167
165
|
- !ruby/object:Gem::Version
|
168
166
|
version: 0.9.0
|
169
167
|
none: false
|
@@ -173,17 +171,15 @@ dependencies:
|
|
173
171
|
name: guard-rspec
|
174
172
|
version_requirements: !ruby/object:Gem::Requirement
|
175
173
|
requirements:
|
176
|
-
- -
|
174
|
+
- - '>='
|
177
175
|
- !ruby/object:Gem::Version
|
178
|
-
version:
|
179
|
-
MA==
|
176
|
+
version: '0'
|
180
177
|
none: false
|
181
178
|
requirement: !ruby/object:Gem::Requirement
|
182
179
|
requirements:
|
183
|
-
- -
|
180
|
+
- - '>='
|
184
181
|
- !ruby/object:Gem::Version
|
185
|
-
version:
|
186
|
-
MA==
|
182
|
+
version: '0'
|
187
183
|
none: false
|
188
184
|
prerelease: false
|
189
185
|
type: :development
|
@@ -191,17 +187,15 @@ dependencies:
|
|
191
187
|
name: ruby_gntp
|
192
188
|
version_requirements: !ruby/object:Gem::Requirement
|
193
189
|
requirements:
|
194
|
-
- -
|
190
|
+
- - '>='
|
195
191
|
- !ruby/object:Gem::Version
|
196
|
-
version:
|
197
|
-
MA==
|
192
|
+
version: '0'
|
198
193
|
none: false
|
199
194
|
requirement: !ruby/object:Gem::Requirement
|
200
195
|
requirements:
|
201
|
-
- -
|
196
|
+
- - '>='
|
202
197
|
- !ruby/object:Gem::Version
|
203
|
-
version:
|
204
|
-
MA==
|
198
|
+
version: '0'
|
205
199
|
none: false
|
206
200
|
prerelease: false
|
207
201
|
type: :development
|
@@ -209,17 +203,15 @@ dependencies:
|
|
209
203
|
name: guard-rake
|
210
204
|
version_requirements: !ruby/object:Gem::Requirement
|
211
205
|
requirements:
|
212
|
-
- -
|
206
|
+
- - '>='
|
213
207
|
- !ruby/object:Gem::Version
|
214
|
-
version:
|
215
|
-
MA==
|
208
|
+
version: '0'
|
216
209
|
none: false
|
217
210
|
requirement: !ruby/object:Gem::Requirement
|
218
211
|
requirements:
|
219
|
-
- -
|
212
|
+
- - '>='
|
220
213
|
- !ruby/object:Gem::Version
|
221
|
-
version:
|
222
|
-
MA==
|
214
|
+
version: '0'
|
223
215
|
none: false
|
224
216
|
prerelease: false
|
225
217
|
type: :development
|
@@ -227,17 +219,15 @@ dependencies:
|
|
227
219
|
name: rake-compiler
|
228
220
|
version_requirements: !ruby/object:Gem::Requirement
|
229
221
|
requirements:
|
230
|
-
- -
|
222
|
+
- - '>='
|
231
223
|
- !ruby/object:Gem::Version
|
232
|
-
version:
|
233
|
-
MA==
|
224
|
+
version: '0'
|
234
225
|
none: false
|
235
226
|
requirement: !ruby/object:Gem::Requirement
|
236
227
|
requirements:
|
237
|
-
- -
|
228
|
+
- - '>='
|
238
229
|
- !ruby/object:Gem::Version
|
239
|
-
version:
|
240
|
-
MA==
|
230
|
+
version: '0'
|
241
231
|
none: false
|
242
232
|
prerelease: false
|
243
233
|
type: :development
|
@@ -248,9 +238,9 @@ executables: []
|
|
248
238
|
extensions: []
|
249
239
|
extra_rdoc_files: []
|
250
240
|
files:
|
251
|
-
-
|
252
|
-
-
|
253
|
-
-
|
241
|
+
- .gitignore
|
242
|
+
- .rspec
|
243
|
+
- .travis.yml
|
254
244
|
- CHANGELOG.md
|
255
245
|
- Gemfile
|
256
246
|
- Guardfile
|
@@ -345,23 +335,21 @@ require_paths:
|
|
345
335
|
- lib
|
346
336
|
required_ruby_version: !ruby/object:Gem::Requirement
|
347
337
|
requirements:
|
348
|
-
- -
|
338
|
+
- - '>='
|
349
339
|
- !ruby/object:Gem::Version
|
350
340
|
segments:
|
351
341
|
- 0
|
352
342
|
hash: 2
|
353
|
-
version:
|
354
|
-
MA==
|
343
|
+
version: '0'
|
355
344
|
none: false
|
356
345
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
357
346
|
requirements:
|
358
|
-
- -
|
347
|
+
- - '>='
|
359
348
|
- !ruby/object:Gem::Version
|
360
349
|
segments:
|
361
350
|
- 0
|
362
351
|
hash: 2
|
363
|
-
version:
|
364
|
-
MA==
|
352
|
+
version: '0'
|
365
353
|
none: false
|
366
354
|
requirements: []
|
367
355
|
rubyforge_project: ruby_speech
|