ruby_speech 2.1.1-java → 2.1.2-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- unless xml.root.namespace
8
- xml.root.default_namespace = NLSML_NAMESPACE
9
- xml = Nokogiri::XML.parse xml.to_xml, nil, nil, Nokogiri::XML::ParseOptions::NOBLANKS
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
- result['grammar']
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
- result.xpath 'ns:interpretation/ns:input/ns:nomatch', 'ns' => NLSML_NAMESPACE
48
+ xpath 'ns:interpretation/ns:input/ns:nomatch', 'ns' => NLSML_NAMESPACE
48
49
  end
49
50
 
50
51
  def noinput_elements
51
- result.xpath 'ns:interpretation/ns:input/ns:noinput', 'ns' => NLSML_NAMESPACE
52
+ xpath 'ns:interpretation/ns:input/ns:noinput', 'ns' => NLSML_NAMESPACE
52
53
  end
53
54
 
54
55
  def input_elements
55
- result.xpath 'ns:interpretation/ns:input', 'ns' => NLSML_NAMESPACE
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 = result.xpath 'ns:interpretation', 'ns' => NLSML_NAMESPACE
112
+ nodes = xpath 'ns:interpretation', 'ns' => NLSML_NAMESPACE
116
113
  nodes.sort_by { |int| -int[:confidence].to_f }
117
114
  end
118
115
  end
@@ -1,3 +1,3 @@
1
1
  module RubySpeech
2
- VERSION = "2.1.1"
2
+ VERSION = "2.1.2"
3
3
  end
@@ -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.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-05-09 00:00:00.000000000 Z
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: !binary |-
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: !binary |-
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: !binary |-
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: !binary |-
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: !binary |-
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: !binary |-
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: !binary |-
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: !binary |-
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: !binary |-
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: !binary |-
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
- - ".gitignore"
252
- - ".rspec"
253
- - ".travis.yml"
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: !binary |-
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: !binary |-
364
- MA==
352
+ version: '0'
365
353
  none: false
366
354
  requirements: []
367
355
  rubyforge_project: ruby_speech