google-cloud-language 0.24.0 → 0.25.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/lib/google/cloud/language.rb +5 -9
- data/lib/google/cloud/language/annotation.rb +54 -11
- data/lib/google/cloud/language/document.rb +18 -29
- data/lib/google/cloud/language/project.rb +27 -36
- data/lib/google/cloud/language/service.rb +23 -21
- data/lib/google/cloud/language/v1/doc/google/cloud/language/v1/language_service.rb +3 -3
- data/lib/google/cloud/language/v1/language_service_client.rb +14 -11
- data/lib/google/cloud/language/v1/language_service_client_config.json +5 -5
- data/lib/google/cloud/language/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: df16876f8d54ce54873bd66d47d90b207e65bd89
|
4
|
+
data.tar.gz: f60733814fec29c26b3f8f8a40e8f18de13e911b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75373df4a6ac03614b09f34557085f411b455868a7af9cf703f954802b3c63f594370d2c32e662cc481cc368ef27c109817828b78c15f9551f7ef55117bb207b
|
7
|
+
data.tar.gz: 9a9dd67b2e28594d51a7fb91deff73f5645bff688971c96acc41a3d7d982cef30ed18f98f4698d35d77391ba01ae733bd07d392f1e9994a57bddfca73f0463a4
|
@@ -53,14 +53,11 @@ module Google
|
|
53
53
|
#
|
54
54
|
# ## Creating documents
|
55
55
|
#
|
56
|
-
# Cloud Natural Language API supports UTF-8, UTF-16, and UTF-32 encodings.
|
57
|
-
# (Ruby uses UTF-8 natively, which is the default sent to the API, so unless
|
58
|
-
# you're working with text processed in different platform, you should not
|
59
|
-
# need to set the encoding type.) Be aware that only English, Spanish, and
|
60
|
-
# Japanese language content are supported.
|
61
|
-
#
|
62
56
|
# Use {Language::Project#document} to create documents for the Cloud Natural
|
63
|
-
# Language service.
|
57
|
+
# Language service. (The Cloud Natural Language API currently supports
|
58
|
+
# English, Spanish, and Japanese.)
|
59
|
+
#
|
60
|
+
# You can provide text or HTML content as a string:
|
64
61
|
#
|
65
62
|
# ```ruby
|
66
63
|
# require "google/cloud/language"
|
@@ -188,9 +185,8 @@ module Google
|
|
188
185
|
#
|
189
186
|
# content = "Star Wars is a great movie. The Death Star is fearsome."
|
190
187
|
# document = language.document content
|
191
|
-
# annotation = document.annotate entities: true,
|
188
|
+
# annotation = document.annotate entities: true, syntax: true
|
192
189
|
#
|
193
|
-
# annotation.sentiment #=> nil
|
194
190
|
# annotation.entities.count #=> 3
|
195
191
|
# annotation.sentences.count #=> 2
|
196
192
|
# annotation.tokens.count #=> 13
|
@@ -240,9 +240,17 @@ module Google
|
|
240
240
|
# Represents a piece of text including relative location.
|
241
241
|
#
|
242
242
|
# @attr_reader [String] text The content of the output text.
|
243
|
-
# @attr_reader [Integer] offset The
|
244
|
-
# of the content in the original document
|
245
|
-
#
|
243
|
+
# @attr_reader [Integer] offset The beginning offset
|
244
|
+
# of the content in the original document.
|
245
|
+
#
|
246
|
+
# The API calculates the beginning offset according to the client
|
247
|
+
# system's default encoding. In Ruby this defaults to UTF-8. To change
|
248
|
+
# the offset calculation you will need to change Ruby's default
|
249
|
+
# encoding. This is commonly done by setting
|
250
|
+
# `Encoding.default_internal` to `Encoding::UTF_16` or
|
251
|
+
# `Encoding::UTF_32`. If the system is configured to use an encoding
|
252
|
+
# other than UTF-16 or UTF-32 the offset will be calculated using
|
253
|
+
# UTF-8.
|
246
254
|
#
|
247
255
|
# @example
|
248
256
|
# require "google/cloud/language"
|
@@ -384,9 +392,17 @@ module Google
|
|
384
392
|
alias_method :content, :text
|
385
393
|
|
386
394
|
##
|
387
|
-
# The
|
388
|
-
#
|
389
|
-
#
|
395
|
+
# The beginning offset of the content in the original document. See
|
396
|
+
# {TextSpan#offset}.
|
397
|
+
#
|
398
|
+
# The API calculates the beginning offset according to the client
|
399
|
+
# system's default encoding. In Ruby this defaults to UTF-8. To change
|
400
|
+
# the offset calculation you will need to change Ruby's default
|
401
|
+
# encoding. This is commonly done by setting
|
402
|
+
# `Encoding.default_internal` to `Encoding::UTF_16` or
|
403
|
+
# `Encoding::UTF_32`. If the system is configured to use an encoding
|
404
|
+
# other than UTF-16 or UTF-32 the offset will be calculated using
|
405
|
+
# UTF-8.
|
390
406
|
#
|
391
407
|
# @return [Integer]
|
392
408
|
#
|
@@ -535,11 +551,31 @@ module Google
|
|
535
551
|
@lemma = lemma
|
536
552
|
end
|
537
553
|
|
554
|
+
##
|
555
|
+
# The content of the output text. See {TextSpan#text}.
|
556
|
+
#
|
557
|
+
# @return [String]
|
558
|
+
#
|
538
559
|
def text
|
539
560
|
@text_span.text
|
540
561
|
end
|
541
562
|
alias_method :content, :text
|
542
563
|
|
564
|
+
##
|
565
|
+
# The beginning offset of the content in the original document. See
|
566
|
+
# {TextSpan#offset}.
|
567
|
+
#
|
568
|
+
# The API calculates the beginning offset according to the client
|
569
|
+
# system's default encoding. In Ruby this defaults to UTF-8. To change
|
570
|
+
# the offset calculation you will need to change Ruby's default
|
571
|
+
# encoding. This is commonly done by setting
|
572
|
+
# `Encoding.default_internal` to `Encoding::UTF_16` or
|
573
|
+
# `Encoding::UTF_32`. If the system is configured to use an encoding
|
574
|
+
# other than UTF-16 or UTF-32 the offset will be calculated using
|
575
|
+
# UTF-8.
|
576
|
+
#
|
577
|
+
# @return [Integer]
|
578
|
+
#
|
543
579
|
def offset
|
544
580
|
@text_span.offset
|
545
581
|
end
|
@@ -632,8 +668,7 @@ module Google
|
|
632
668
|
#
|
633
669
|
# entities = annotation.entities
|
634
670
|
# entities.count #=> 3
|
635
|
-
# entities.
|
636
|
-
# entities.artwork.count #=> 1
|
671
|
+
# entities.artwork.first.name #=> "Star Wars"
|
637
672
|
#
|
638
673
|
class Entities < DelegateClass(::Array)
|
639
674
|
attr_accessor :language
|
@@ -941,9 +976,17 @@ module Google
|
|
941
976
|
alias_method :content, :text
|
942
977
|
|
943
978
|
##
|
944
|
-
# The
|
945
|
-
#
|
946
|
-
#
|
979
|
+
# The beginning offset of the content in the original document. See
|
980
|
+
# {TextSpan#offset}.
|
981
|
+
#
|
982
|
+
# The API calculates the beginning offset according to the client
|
983
|
+
# system's default encoding. In Ruby this defaults to UTF-8. To
|
984
|
+
# change the offset calculation you will need to change Ruby's
|
985
|
+
# default encoding. This is commonly done by setting
|
986
|
+
# `Encoding.default_internal` to `Encoding::UTF_16` or
|
987
|
+
# `Encoding::UTF_32`. If the system is configured to use an encoding
|
988
|
+
# other than UTF-16 or UTF-32 the offset will be calculated using
|
989
|
+
# UTF-8.
|
947
990
|
#
|
948
991
|
# @return [Integer]
|
949
992
|
#
|
@@ -23,11 +23,6 @@ module Google
|
|
23
23
|
#
|
24
24
|
# Represents a document for the Language service.
|
25
25
|
#
|
26
|
-
# Cloud Natural Language API supports UTF-8, UTF-16, and UTF-32 encodings.
|
27
|
-
# (Ruby uses UTF-8 natively, which is the default sent to the API, so
|
28
|
-
# unless you're working with text processed in different platform, you
|
29
|
-
# should not need to set the encoding type.)
|
30
|
-
#
|
31
26
|
# Be aware that only English, Spanish, and Japanese language content are
|
32
27
|
# supported.
|
33
28
|
#
|
@@ -70,7 +65,7 @@ module Google
|
|
70
65
|
##
|
71
66
|
# @private Whether the document source is a Google Cloud Storage URI.
|
72
67
|
#
|
73
|
-
def
|
68
|
+
def gcs_url?
|
74
69
|
@grpc.source == :gcs_content_uri
|
75
70
|
end
|
76
71
|
|
@@ -99,6 +94,10 @@ module Google
|
|
99
94
|
# `:html`.
|
100
95
|
#
|
101
96
|
# @example
|
97
|
+
# require "google/cloud/language"
|
98
|
+
#
|
99
|
+
# language = Google::Cloud::Language.new
|
100
|
+
#
|
102
101
|
# document = language.document "<p>The Old Man and the Sea</p>"
|
103
102
|
# document.format = :html
|
104
103
|
#
|
@@ -156,6 +155,10 @@ module Google
|
|
156
155
|
# accepted.
|
157
156
|
#
|
158
157
|
# @example
|
158
|
+
# require "google/cloud/language"
|
159
|
+
#
|
160
|
+
# language = Google::Cloud::Language.new
|
161
|
+
#
|
159
162
|
# document = language.document "<p>El viejo y el mar</p>"
|
160
163
|
# document.language = "es"
|
161
164
|
#
|
@@ -179,8 +182,6 @@ module Google
|
|
179
182
|
# @param [Boolean] syntax Whether to perform syntactic analysis.
|
180
183
|
# Optional. The default is `false`. If every feature option is
|
181
184
|
# `false`, **all** features will be performed.
|
182
|
-
# @param [String] encoding The encoding type used by the API to
|
183
|
-
# calculate offsets. Optional.
|
184
185
|
#
|
185
186
|
# @return [Annotation] The results of the content analysis.
|
186
187
|
#
|
@@ -206,20 +207,17 @@ module Google
|
|
206
207
|
#
|
207
208
|
# content = "Star Wars is a great movie. The Death Star is fearsome."
|
208
209
|
# document = language.document content
|
209
|
-
# annotation = document.annotate entities: true,
|
210
|
+
# annotation = document.annotate entities: true, syntax: true
|
210
211
|
#
|
211
|
-
# annotation.sentiment #=> nil
|
212
212
|
# annotation.entities.count #=> 3
|
213
213
|
# annotation.sentences.count #=> 2
|
214
214
|
# annotation.tokens.count #=> 13
|
215
215
|
#
|
216
|
-
def annotate sentiment: false, entities: false, syntax: false
|
217
|
-
encoding: nil
|
216
|
+
def annotate sentiment: false, entities: false, syntax: false
|
218
217
|
ensure_service!
|
219
218
|
grpc = service.annotate to_grpc, sentiment: sentiment,
|
220
219
|
entities: entities,
|
221
|
-
syntax: syntax
|
222
|
-
encoding: encoding
|
220
|
+
syntax: syntax
|
223
221
|
Annotation.from_grpc grpc
|
224
222
|
end
|
225
223
|
alias_method :mark, :annotate
|
@@ -230,9 +228,6 @@ module Google
|
|
230
228
|
# given text into a series of sentences and tokens (generally, word
|
231
229
|
# boundaries), providing further analysis on those tokens.
|
232
230
|
#
|
233
|
-
# @param [String] encoding The encoding type used by the API to
|
234
|
-
# calculate offsets. Optional.
|
235
|
-
#
|
236
231
|
# @return [Annotation::Syntax] The results for the content analysis.
|
237
232
|
#
|
238
233
|
# @example
|
@@ -259,9 +254,9 @@ module Google
|
|
259
254
|
# token.label #=> :TITLE
|
260
255
|
# token.lemma #=> "Star"
|
261
256
|
#
|
262
|
-
def syntax
|
257
|
+
def syntax
|
263
258
|
ensure_service!
|
264
|
-
grpc = service.syntax to_grpc
|
259
|
+
grpc = service.syntax to_grpc
|
265
260
|
Annotation::Syntax.from_grpc grpc
|
266
261
|
end
|
267
262
|
|
@@ -270,9 +265,6 @@ module Google
|
|
270
265
|
# nouns such as public figures, landmarks, etc.) and returns information
|
271
266
|
# about those entities.
|
272
267
|
#
|
273
|
-
# @param [String] encoding The encoding type used by the API to
|
274
|
-
# calculate offsets. Optional.
|
275
|
-
#
|
276
268
|
# @return [Annotation::Entities] The results for the entities analysis.
|
277
269
|
#
|
278
270
|
# @example
|
@@ -289,9 +281,9 @@ module Google
|
|
289
281
|
# entities.first.type #=> :WORK_OF_ART
|
290
282
|
# entities.first.mid #=> "/m/06mmr"
|
291
283
|
#
|
292
|
-
def entities
|
284
|
+
def entities
|
293
285
|
ensure_service!
|
294
|
-
grpc = service.entities to_grpc
|
286
|
+
grpc = service.entities to_grpc
|
295
287
|
Annotation::Entities.from_grpc grpc
|
296
288
|
end
|
297
289
|
|
@@ -301,9 +293,6 @@ module Google
|
|
301
293
|
# a writer's attitude as positive, negative, or neutral. Currently, only
|
302
294
|
# English is supported for sentiment analysis.
|
303
295
|
#
|
304
|
-
# @param [String] encoding The encoding type used by the API to
|
305
|
-
# calculate offsets. Optional.
|
306
|
-
#
|
307
296
|
# @return [Annotation::Sentiment] The results for the sentiment
|
308
297
|
# analysis.
|
309
298
|
#
|
@@ -325,9 +314,9 @@ module Google
|
|
325
314
|
# sentence.sentiment.score #=> 0.699999988079071
|
326
315
|
# sentence.sentiment.magnitude #=> 0.699999988079071
|
327
316
|
#
|
328
|
-
def sentiment
|
317
|
+
def sentiment
|
329
318
|
ensure_service!
|
330
|
-
grpc = service.sentiment to_grpc
|
319
|
+
grpc = service.sentiment to_grpc
|
331
320
|
Annotation::Sentiment.from_grpc grpc
|
332
321
|
end
|
333
322
|
|
@@ -89,9 +89,10 @@ module Google
|
|
89
89
|
# to be annotated, or a Cloud Storage URI of the form
|
90
90
|
# `"gs://bucketname/path/to/document.ext"`; or an instance of
|
91
91
|
# Google::Cloud::Storage::File of the text to be annotated.
|
92
|
-
# @param [String] format The format of the document
|
93
|
-
#
|
94
|
-
#
|
92
|
+
# @param [String, Symbol] format The format of the document. Acceptable
|
93
|
+
# values are: `text` or `html`. If no format is provided, the document
|
94
|
+
# will default to `text`. Optional.
|
95
|
+
# @param [String, Symbol] language The language of the document (if not
|
95
96
|
# specified, the language is automatically detected). Both ISO and
|
96
97
|
# BCP-47 language codes are accepted. Optional.
|
97
98
|
#
|
@@ -153,7 +154,7 @@ module Google
|
|
153
154
|
# to be annotated, or a Cloud Storage URI of the form
|
154
155
|
# `"gs://bucketname/path/to/document.ext"`; or an instance of
|
155
156
|
# Google::Cloud::Storage::File of the text to be annotated.
|
156
|
-
# @param [String] language The language of the document (if not
|
157
|
+
# @param [String, Symbol] language The language of the document (if not
|
157
158
|
# specified, the language is automatically detected). Both ISO and
|
158
159
|
# BCP-47 language codes are accepted. Optional.
|
159
160
|
#
|
@@ -171,7 +172,7 @@ module Google
|
|
171
172
|
# to be annotated, or a Cloud Storage URI of the form
|
172
173
|
# `"gs://bucketname/path/to/document.ext"`; or an instance of
|
173
174
|
# Google::Cloud::Storage::File of the text to be annotated.
|
174
|
-
# @param [String] language The language of the document (if not
|
175
|
+
# @param [String, Symbol] language The language of the document (if not
|
175
176
|
# specified, the language is automatically detected). Both ISO and
|
176
177
|
# BCP-47 language codes are accepted. Optional.
|
177
178
|
#
|
@@ -201,13 +202,11 @@ module Google
|
|
201
202
|
# @param [Boolean] syntax Whether to perform the syntactic analysis.
|
202
203
|
# Optional. The default is `false`. If every feature option is
|
203
204
|
# `false`, **all** features will be performed.
|
204
|
-
# @param [String] format The format of the document
|
205
|
-
# Optional.
|
206
|
-
# @param [String] language The language of the document (if not
|
205
|
+
# @param [String, Symbol] format The format of the document. Acceptable
|
206
|
+
# values are: `text` or `html`. Optional.
|
207
|
+
# @param [String, Symbol] language The language of the document (if not
|
207
208
|
# specified, the language is automatically detected). Both ISO and
|
208
209
|
# BCP-47 language codes are accepted. Optional.
|
209
|
-
# @param [String] encoding The encoding type used by the API to
|
210
|
-
# calculate offsets. Optional.
|
211
210
|
#
|
212
211
|
# @return [Annotation] The results for the content analysis.
|
213
212
|
#
|
@@ -226,13 +225,12 @@ module Google
|
|
226
225
|
# annotation.tokens.count #=> 13
|
227
226
|
#
|
228
227
|
def annotate content, sentiment: false, entities: false, syntax: false,
|
229
|
-
format: nil, language: nil
|
228
|
+
format: nil, language: nil
|
230
229
|
ensure_service!
|
231
230
|
doc = document content, language: language, format: format
|
232
231
|
grpc = service.annotate doc.to_grpc, sentiment: sentiment,
|
233
232
|
entities: entities,
|
234
|
-
syntax: syntax
|
235
|
-
encoding: encoding
|
233
|
+
syntax: syntax
|
236
234
|
Annotation.from_grpc grpc
|
237
235
|
end
|
238
236
|
alias_method :mark, :annotate
|
@@ -247,13 +245,11 @@ module Google
|
|
247
245
|
# content to annotate. This can be an {Document} instance, or any
|
248
246
|
# other type that converts to an {Document}. See {#document} for
|
249
247
|
# details.
|
250
|
-
# @param [String] format The format of the document
|
251
|
-
# Optional.
|
252
|
-
# @param [String] language The language of the document (if not
|
248
|
+
# @param [String, Symbol] format The format of the document. Acceptable
|
249
|
+
# values are: `text` or `html`. Optional.
|
250
|
+
# @param [String, Symbol] language The language of the document (if not
|
253
251
|
# specified, the language is automatically detected). Both ISO and
|
254
252
|
# BCP-47 language codes are accepted. Optional.
|
255
|
-
# @param [String] encoding The encoding type used by the API to
|
256
|
-
# calculate offsets. Optional.
|
257
253
|
#
|
258
254
|
# @return [Annotation::Syntax] The results for the content syntax
|
259
255
|
# analysis.
|
@@ -266,8 +262,7 @@ module Google
|
|
266
262
|
# content = "Star Wars is a great movie. The Death Star is fearsome."
|
267
263
|
# document = language.document content
|
268
264
|
#
|
269
|
-
#
|
270
|
-
# syntax = annotation.syntax
|
265
|
+
# syntax = language.syntax document
|
271
266
|
#
|
272
267
|
# sentence = syntax.sentences.last
|
273
268
|
# sentence.text #=> "The Death Star is fearsome."
|
@@ -283,10 +278,10 @@ module Google
|
|
283
278
|
# token.label #=> :TITLE
|
284
279
|
# token.lemma #=> "Star"
|
285
280
|
#
|
286
|
-
def syntax content, format: nil, language: nil
|
281
|
+
def syntax content, format: nil, language: nil
|
287
282
|
ensure_service!
|
288
283
|
doc = document content, language: language, format: format
|
289
|
-
grpc = service.syntax doc.to_grpc
|
284
|
+
grpc = service.syntax doc.to_grpc
|
290
285
|
Annotation::Syntax.from_grpc grpc
|
291
286
|
end
|
292
287
|
|
@@ -298,13 +293,11 @@ module Google
|
|
298
293
|
# @param [String, Document] content The content to annotate. This
|
299
294
|
# can be an {Document} instance, or any other type that converts to an
|
300
295
|
# {Document}. See {#document} for details.
|
301
|
-
# @param [String] format The format of the document
|
302
|
-
# Optional.
|
303
|
-
# @param [String] language The language of the document (if not
|
296
|
+
# @param [String, Symbol] format The format of the document. Acceptable
|
297
|
+
# values are: `text` or `html`. Optional.
|
298
|
+
# @param [String, Symbol] language The language of the document (if not
|
304
299
|
# specified, the language is automatically detected). Both ISO and
|
305
300
|
# BCP-47 language codes are accepted. Optional.
|
306
|
-
# @param [String] encoding The encoding type used by the API to
|
307
|
-
# calculate offsets. Optional.
|
308
301
|
#
|
309
302
|
# @return [Annotation::Entities] The results for the entities analysis.
|
310
303
|
#
|
@@ -319,10 +312,10 @@ module Google
|
|
319
312
|
# entities = language.entities document
|
320
313
|
# entities.count #=> 3
|
321
314
|
#
|
322
|
-
def entities content, format: :text, language: nil
|
315
|
+
def entities content, format: :text, language: nil
|
323
316
|
ensure_service!
|
324
317
|
doc = document content, language: language, format: format
|
325
|
-
grpc = service.entities doc.to_grpc
|
318
|
+
grpc = service.entities doc.to_grpc
|
326
319
|
Annotation::Entities.from_grpc grpc
|
327
320
|
end
|
328
321
|
|
@@ -335,13 +328,11 @@ module Google
|
|
335
328
|
# @param [String, Document] content The content to annotate. This
|
336
329
|
# can be an {Document} instance, or any other type that converts to an
|
337
330
|
# {Document}. See {#document} for details.
|
338
|
-
# @param [String] format The format of the document
|
339
|
-
# Optional.
|
340
|
-
# @param [String] language The language of the document (if not
|
331
|
+
# @param [String, Symbol] format The format of the document. Acceptable
|
332
|
+
# values are: `text` or `html`. Optional.
|
333
|
+
# @param [String, Symbol] language The language of the document (if not
|
341
334
|
# specified, the language is automatically detected). Both ISO and
|
342
335
|
# BCP-47 language codes are accepted. Optional.
|
343
|
-
# @param [String] encoding The encoding type used by the API to
|
344
|
-
# calculate offsets. Optional.
|
345
336
|
#
|
346
337
|
# @return [Annotation::Sentiment] The results for the sentiment
|
347
338
|
# analysis.
|
@@ -364,10 +355,10 @@ module Google
|
|
364
355
|
# sentence.sentiment.score #=> 0.699999988079071
|
365
356
|
# sentence.sentiment.magnitude #=> 0.699999988079071
|
366
357
|
#
|
367
|
-
def sentiment content, format: :text, language: nil
|
358
|
+
def sentiment content, format: :text, language: nil
|
368
359
|
ensure_service!
|
369
360
|
doc = document content, language: language, format: format
|
370
|
-
grpc = service.sentiment doc.to_grpc
|
361
|
+
grpc = service.sentiment doc.to_grpc
|
371
362
|
Annotation::Sentiment.from_grpc grpc
|
372
363
|
end
|
373
364
|
|
@@ -57,8 +57,8 @@ module Google
|
|
57
57
|
channel: channel,
|
58
58
|
timeout: timeout,
|
59
59
|
client_config: client_config,
|
60
|
-
|
61
|
-
|
60
|
+
lib_name: "gccl",
|
61
|
+
lib_version: Google::Cloud::Language::VERSION)
|
62
62
|
end
|
63
63
|
attr_accessor :mocked_service
|
64
64
|
|
@@ -68,8 +68,7 @@ module Google
|
|
68
68
|
|
69
69
|
##
|
70
70
|
# Returns API::BatchAnnotateImagesResponse
|
71
|
-
def annotate doc_grpc, syntax: false, entities: false, sentiment: false
|
72
|
-
encoding: nil
|
71
|
+
def annotate doc_grpc, syntax: false, entities: false, sentiment: false
|
73
72
|
if syntax == false && entities == false && sentiment == false
|
74
73
|
syntax = true
|
75
74
|
entities = true
|
@@ -78,33 +77,29 @@ module Google
|
|
78
77
|
features = V1::AnnotateTextRequest::Features.new(
|
79
78
|
extract_syntax: syntax, extract_entities: entities,
|
80
79
|
extract_document_sentiment: sentiment)
|
81
|
-
encoding = verify_encoding! encoding
|
82
80
|
execute do
|
83
|
-
service.annotate_text doc_grpc, features,
|
81
|
+
service.annotate_text doc_grpc, features, default_encoding,
|
84
82
|
options: default_options
|
85
83
|
end
|
86
84
|
end
|
87
85
|
|
88
|
-
def syntax doc_grpc
|
89
|
-
encoding = verify_encoding! encoding
|
86
|
+
def syntax doc_grpc
|
90
87
|
execute do
|
91
|
-
service.analyze_syntax doc_grpc,
|
88
|
+
service.analyze_syntax doc_grpc, default_encoding,
|
92
89
|
options: default_options
|
93
90
|
end
|
94
91
|
end
|
95
92
|
|
96
|
-
def entities doc_grpc
|
97
|
-
encoding = verify_encoding! encoding
|
93
|
+
def entities doc_grpc
|
98
94
|
execute do
|
99
|
-
service.analyze_entities doc_grpc,
|
95
|
+
service.analyze_entities doc_grpc, default_encoding,
|
100
96
|
options: default_options
|
101
97
|
end
|
102
98
|
end
|
103
99
|
|
104
|
-
def sentiment doc_grpc
|
105
|
-
encoding = verify_encoding! encoding
|
100
|
+
def sentiment doc_grpc
|
106
101
|
execute do
|
107
|
-
service.analyze_sentiment doc_grpc, encoding_type:
|
102
|
+
service.analyze_sentiment doc_grpc, encoding_type: default_encoding,
|
108
103
|
options: default_options
|
109
104
|
end
|
110
105
|
end
|
@@ -115,12 +110,6 @@ module Google
|
|
115
110
|
|
116
111
|
protected
|
117
112
|
|
118
|
-
def verify_encoding! encoding
|
119
|
-
# TODO: verify encoding against V1::EncodingType
|
120
|
-
return :UTF8 if encoding.nil?
|
121
|
-
encoding
|
122
|
-
end
|
123
|
-
|
124
113
|
def default_headers
|
125
114
|
{ "google-cloud-resource-prefix" => "projects/#{@project}" }
|
126
115
|
end
|
@@ -129,6 +118,19 @@ module Google
|
|
129
118
|
Google::Gax::CallOptions.new kwargs: default_headers
|
130
119
|
end
|
131
120
|
|
121
|
+
def default_encoding
|
122
|
+
utf_16_encodings = [Encoding::UTF_16, Encoding::UTF_16BE,
|
123
|
+
Encoding::UTF_16LE]
|
124
|
+
return :UTF16 if utf_16_encodings.include? Encoding.default_internal
|
125
|
+
|
126
|
+
utf_32_encodings = [Encoding::UTF_32, Encoding::UTF_32BE,
|
127
|
+
Encoding::UTF_32LE]
|
128
|
+
return :UTF32 if utf_32_encodings.include? Encoding.default_internal
|
129
|
+
|
130
|
+
# The default encoding_type for all other system settings
|
131
|
+
:UTF8
|
132
|
+
end
|
133
|
+
|
132
134
|
def execute
|
133
135
|
yield
|
134
136
|
rescue Google::Gax::GaxError => e
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2017, Google Inc. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -912,4 +912,4 @@ module Google
|
|
912
912
|
end
|
913
913
|
end
|
914
914
|
end
|
915
|
-
end
|
915
|
+
end
|
@@ -46,8 +46,6 @@ module Google
|
|
46
46
|
# The default port of the service.
|
47
47
|
DEFAULT_SERVICE_PORT = 443
|
48
48
|
|
49
|
-
CODE_GEN_NAME_VERSION = "gapic/0.1.0".freeze
|
50
|
-
|
51
49
|
DEFAULT_TIMEOUT = 30
|
52
50
|
|
53
51
|
# The scopes needed to make gRPC calls to all of the methods defined in
|
@@ -71,10 +69,6 @@ module Google
|
|
71
69
|
# or the specified config is missing data points.
|
72
70
|
# @param timeout [Numeric]
|
73
71
|
# The default timeout, in seconds, for calls made through this client.
|
74
|
-
# @param app_name [String]
|
75
|
-
# The codename of the calling service.
|
76
|
-
# @param app_version [String]
|
77
|
-
# The version of the calling service.
|
78
72
|
def initialize \
|
79
73
|
service_path: SERVICE_ADDRESS,
|
80
74
|
port: DEFAULT_SERVICE_PORT,
|
@@ -83,8 +77,10 @@ module Google
|
|
83
77
|
scopes: ALL_SCOPES,
|
84
78
|
client_config: {},
|
85
79
|
timeout: DEFAULT_TIMEOUT,
|
86
|
-
app_name:
|
87
|
-
app_version:
|
80
|
+
app_name: nil,
|
81
|
+
app_version: nil,
|
82
|
+
lib_name: nil,
|
83
|
+
lib_version: ""
|
88
84
|
# These require statements are intentionally placed here to initialize
|
89
85
|
# the gRPC module only when it's required.
|
90
86
|
# See https://github.com/googleapis/toolkit/issues/446
|
@@ -92,9 +88,16 @@ module Google
|
|
92
88
|
require "google/cloud/language/v1/language_service_services_pb"
|
93
89
|
|
94
90
|
|
95
|
-
|
96
|
-
"
|
97
|
-
|
91
|
+
if app_name || app_version
|
92
|
+
warn "`app_name` and `app_version` are no longer being used in the request headers."
|
93
|
+
end
|
94
|
+
|
95
|
+
google_api_client = "gl-ruby/#{RUBY_VERSION}"
|
96
|
+
google_api_client << " #{lib_name}/#{lib_version}" if lib_name
|
97
|
+
google_api_client << " gapic/0.6.8 gax/#{Google::Gax::VERSION}"
|
98
|
+
google_api_client << " grpc/#{GRPC::VERSION}"
|
99
|
+
google_api_client.freeze
|
100
|
+
|
98
101
|
headers = { :"x-goog-api-client" => google_api_client }
|
99
102
|
client_config_file = Pathname.new(__dir__).join(
|
100
103
|
"language_service_client_config.json"
|
@@ -2,11 +2,11 @@
|
|
2
2
|
"interfaces": {
|
3
3
|
"google.cloud.language.v1.LanguageService": {
|
4
4
|
"retry_codes": {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
"idempotent": [
|
6
|
+
"DEADLINE_EXCEEDED",
|
7
|
+
"UNAVAILABLE"
|
8
|
+
],
|
9
|
+
"non_idempotent": []
|
10
10
|
},
|
11
11
|
"retry_params": {
|
12
12
|
"default": {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-language
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.25.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-03-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|