Class: Twilio::REST::Autopilot::V1::AssistantContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/autopilot/v1/assistant.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb,
lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb

Overview

PLEASE NOTE that this class contains preview products that are subject to change. Use them with caution. If you currently do not have developer preview access, please contact [email protected].

Defined Under Namespace

Classes: DefaultsContext, DefaultsInstance, DefaultsList, DefaultsPage, DialogueContext, DialogueInstance, DialogueList, DialoguePage, FieldTypeContext, FieldTypeInstance, FieldTypeList, FieldTypePage, ModelBuildContext, ModelBuildInstance, ModelBuildList, ModelBuildPage, QueryContext, QueryInstance, QueryList, QueryPage, StyleSheetContext, StyleSheetInstance, StyleSheetList, StyleSheetPage, TaskContext, TaskInstance, TaskList, TaskPage

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ AssistantContext

Initialize the AssistantContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The sid



193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 193

def initialize(version, sid)
  super(version)

  # Path Solution
  @solution = {sid: sid, }
  @uri = "/Assistants/#{@solution[:sid]}"

  # Dependents
  @field_types = nil
  @tasks = nil
  @model_builds = nil
  @queries = nil
  @style_sheet = nil
  @defaults = nil
  @dialogues = nil
end

Instance Method Details

#defaultsDefaultsList, DefaultsContext

Access the defaults



352
353
354
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 352

def defaults
  DefaultsContext.new(@version, @solution[:sid], )
end

#deleteBoolean

Deletes the AssistantInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



264
265
266
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 264

def delete
  @version.delete('delete', @uri)
end

#dialogues(sid = :unset) ⇒ DialogueList, DialogueContext

Access the dialogues

Returns:

Raises:

  • (ArgumentError)


360
361
362
363
364
365
366
367
368
369
370
371
372
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 360

def dialogues(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return DialogueContext.new(@version, @solution[:sid], sid, )
  end

  unless @dialogues
    @dialogues = DialogueList.new(@version, assistant_sid: @solution[:sid], )
  end

  @dialogues
end

#fetchAssistantInstance

Fetch a AssistantInstance

Returns:



213
214
215
216
217
218
219
220
221
222
223
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 213

def fetch
  params = Twilio::Values.of({})

  payload = @version.fetch(
      'GET',
      @uri,
      params,
  )

  AssistantInstance.new(@version, payload, sid: @solution[:sid], )
end

#field_types(sid = :unset) ⇒ FieldTypeList, FieldTypeContext

Access the field_types

Returns:

Raises:

  • (ArgumentError)


272
273
274
275
276
277
278
279
280
281
282
283
284
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 272

def field_types(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return FieldTypeContext.new(@version, @solution[:sid], sid, )
  end

  unless @field_types
    @field_types = FieldTypeList.new(@version, assistant_sid: @solution[:sid], )
  end

  @field_types
end

#model_builds(sid = :unset) ⇒ ModelBuildList, ModelBuildContext

Access the model_builds

Returns:

Raises:

  • (ArgumentError)


308
309
310
311
312
313
314
315
316
317
318
319
320
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 308

def model_builds(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return ModelBuildContext.new(@version, @solution[:sid], sid, )
  end

  unless @model_builds
    @model_builds = ModelBuildList.new(@version, assistant_sid: @solution[:sid], )
  end

  @model_builds
end

#queries(sid = :unset) ⇒ QueryList, QueryContext

Access the queries

Returns:

Raises:

  • (ArgumentError)


326
327
328
329
330
331
332
333
334
335
336
337
338
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 326

def queries(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return QueryContext.new(@version, @solution[:sid], sid, )
  end

  unless @queries
    @queries = QueryList.new(@version, assistant_sid: @solution[:sid], )
  end

  @queries
end

#style_sheetStyleSheetList, StyleSheetContext

Access the style_sheet



344
345
346
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 344

def style_sheet
  StyleSheetContext.new(@version, @solution[:sid], )
end

#tasks(sid = :unset) ⇒ TaskList, TaskContext

Access the tasks

Returns:

Raises:

  • (ArgumentError)


290
291
292
293
294
295
296
297
298
299
300
301
302
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 290

def tasks(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return TaskContext.new(@version, @solution[:sid], sid, )
  end

  unless @tasks
    @tasks = TaskList.new(@version, assistant_sid: @solution[:sid], )
  end

  @tasks
end

#to_sObject

Provide a user friendly representation



376
377
378
379
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 376

def to_s
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
  "#<Twilio.Autopilot.V1.AssistantContext #{context}>"
end

#update(friendly_name: :unset, log_queries: :unset, unique_name: :unset, callback_url: :unset, callback_events: :unset, style_sheet: :unset, defaults: :unset) ⇒ AssistantInstance

Update the AssistantInstance

Parameters:

  • friendly_name (String) (defaults to: :unset)

    A text description for the Assistant. It is non-unique and can be up to 255 characters long.

  • log_queries (Boolean) (defaults to: :unset)

    A boolean that specifies whether queries should be logged for 30 days further training. If false, no queries will be stored, if true, queries will be stored for 30 days and deleted thereafter. Defaults to true if no value is provided.

  • unique_name (String) (defaults to: :unset)

    A user-provided string that uniquely identifies this resource as an alternative to the sid. Unique up to 64 characters long.

  • callback_url (String) (defaults to: :unset)

    The callback_url

  • callback_events (String) (defaults to: :unset)

    The callback_events

  • style_sheet (Hash) (defaults to: :unset)

    A JSON object that defines the assistant style sheet

  • defaults (Hash) (defaults to: :unset)

    A JSON object that defines the assistant’s default tasks for various scenarios

Returns:



241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
# File 'lib/twilio-ruby/rest/autopilot/v1/assistant.rb', line 241

def update(friendly_name: :unset, log_queries: :unset, unique_name: :unset, callback_url: :unset, callback_events: :unset, style_sheet: :unset, defaults: :unset)
  data = Twilio::Values.of({
      'FriendlyName' => friendly_name,
      'LogQueries' => log_queries,
      'UniqueName' => unique_name,
      'CallbackUrl' => callback_url,
      'CallbackEvents' => callback_events,
      'StyleSheet' => Twilio.serialize_object(style_sheet),
      'Defaults' => Twilio.serialize_object(defaults),
  })

  payload = @version.update(
      'POST',
      @uri,
      data: data,
  )

  AssistantInstance.new(@version, payload, sid: @solution[:sid], )
end