class DvelpFlow::DialogFlow::V2
Attributes
access_token[RW]
api_session_id[RW]
api_version[RW]
Public Class Methods
new(access_token:, api_session_id:)
click to toggle source
# File lib/dvelp_flow/dialog_flow/v2.rb, line 6 def initialize(access_token:, api_session_id:) self.access_token = access_token self.api_session_id = api_session_id self.api_version = api_version end
Public Instance Methods
event_request(event)
click to toggle source
# File lib/dvelp_flow/dialog_flow/v2.rb, line 12 def event_request(event) data = { query_input: { event: { name: event, language_code: ENV['APIAI_LANGUAGE'] } } } call(data: data, endpoint: "sessions/#{api_session_id}:detectIntent") end
text_request(text)
click to toggle source
# File lib/dvelp_flow/dialog_flow/v2.rb, line 25 def text_request(text) data = { query_input: { text: { text: text, language_code: ENV['APIAI_LANGUAGE'] } } } call(data: data, endpoint: "sessions/#{api_session_id}:detectIntent") end
Private Instance Methods
base_url()
click to toggle source
# File lib/dvelp_flow/dialog_flow/v2.rb, line 49 def base_url "https://dialogflow.googleapis.com/v2beta1/projects/#{project}/agent/" end
call(data:, endpoint:)
click to toggle source
# File lib/dvelp_flow/dialog_flow/v2.rb, line 42 def call(data:, endpoint:) url = base_url + endpoint response = RestClient.post(url, data.to_json, headers) JSON.parse(response).deep_symbolize_keys! end
headers()
click to toggle source
# File lib/dvelp_flow/dialog_flow/v2.rb, line 57 def headers { accept: :json, authorization: "Bearer #{access_token}", content_type: :json } end
project()
click to toggle source
# File lib/dvelp_flow/dialog_flow/v2.rb, line 53 def project ENV['GCP_PROJECT_NAME'] end