Class: Google::Cloud::Language::Service

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/language/service.rb

Overview

methods.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project, credentials, host: nil, retries: nil, timeout: nil) ⇒ Service

Creates a new Service instance.



32
33
34
35
36
37
38
39
# File 'lib/google/cloud/language/service.rb', line 32

def initialize project, credentials, host: nil, retries: nil,
               timeout: nil
  @project = project
  @credentials = credentials
  @host = host || V1beta1::LanguageServiceApi::SERVICE_ADDRESS
  @retries = retries
  @timeout = timeout
end

Instance Attribute Details

#credentialsObject

Returns the value of attribute credentials.



28
29
30
# File 'lib/google/cloud/language/service.rb', line 28

def credentials
  @credentials
end

#hostObject

Returns the value of attribute host.



28
29
30
# File 'lib/google/cloud/language/service.rb', line 28

def host
  @host
end

#mocked_serviceObject

TODO: Get retries configured



61
62
63
# File 'lib/google/cloud/language/service.rb', line 61

def mocked_service
  @mocked_service
end

#projectObject

Returns the value of attribute project.



28
29
30
# File 'lib/google/cloud/language/service.rb', line 28

def project
  @project
end

#retriesObject

Returns the value of attribute retries.



28
29
30
# File 'lib/google/cloud/language/service.rb', line 28

def retries
  @retries
end

#timeoutObject

Returns the value of attribute timeout.



28
29
30
# File 'lib/google/cloud/language/service.rb', line 28

def timeout
  @timeout
end

Instance Method Details

#annotate(doc_grpc, syntax: false, entities: false, sentiment: false, encoding: nil) ⇒ Object

Returns API::BatchAnnotateImagesResponse



69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/google/cloud/language/service.rb', line 69

def annotate doc_grpc, syntax: false, entities: false, sentiment: false,
             encoding: nil
  if syntax == false && entities == false && sentiment == false
    syntax = true
    entities = true
    sentiment = true
  end
  features = V1beta1::AnnotateTextRequest::Features.new(
    extract_syntax: syntax, extract_entities: entities,
    extract_document_sentiment: sentiment)
  encoding = verify_encoding! encoding
  execute { service.annotate_text doc_grpc, features, encoding }
end

#chan_credsObject



45
46
47
48
49
# File 'lib/google/cloud/language/service.rb', line 45

def chan_creds
  return credentials if insecure?
  GRPC::Core::ChannelCredentials.new.compose \
    GRPC::Core::CallCredentials.new credentials.client.updater_proc
end

#channelObject



41
42
43
# File 'lib/google/cloud/language/service.rb', line 41

def channel
  GRPC::Core::Channel.new host, nil, chan_creds
end

#entities(doc_grpc, encoding: nil) ⇒ Object



83
84
85
86
# File 'lib/google/cloud/language/service.rb', line 83

def entities doc_grpc, encoding: nil
  encoding = verify_encoding! encoding
  execute { service.analyze_entities doc_grpc, encoding }
end

#insecure?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/google/cloud/language/service.rb', line 63

def insecure?
  credentials == :this_channel_is_insecure
end

#inspectObject



92
93
94
# File 'lib/google/cloud/language/service.rb', line 92

def inspect
  "#{self.class}(#{@project})"
end

#sentiment(doc_grpc) ⇒ Object



88
89
90
# File 'lib/google/cloud/language/service.rb', line 88

def sentiment doc_grpc
  execute { service.analyze_sentiment doc_grpc }
end

#serviceObject



51
52
53
54
55
56
57
58
59
60
# File 'lib/google/cloud/language/service.rb', line 51

def service
  return mocked_service if mocked_service
  @service ||= V1beta1::LanguageServiceApi.new(
    service_path: host,
    channel: channel,
    timeout: timeout,
    app_name: "google-cloud-language",
    app_version: Google::Cloud::Language::VERSION)
  # TODO: Get retries configured
end