Class: BotPlatform::Dialogs::Prompts::NumberPrompt

Inherits:
Prompt
  • Object
show all
Defined in:
lib/bot_platform/dialogs/prompts/number_prompt.rb

Constant Summary

Constants inherited from Dialog

Dialog::END_OF_TURN

Instance Attribute Summary collapse

Attributes inherited from Prompt

#validator

Attributes inherited from Dialog

#id

Instance Method Summary collapse

Methods inherited from Prompt

#continue, #repromp, #resume, #start

Methods inherited from Dialog

#continue, #reprompt, #resume, #start, #stop

Methods included from Asserts

#assert_activity_is_not_null, #assert_activity_list_is_not_null, #assert_activity_type_is_not_null, #assert_context_is_not_null, #assert_conversation_reference_is_not_null, #assert_dialog_context_is_valid, #assert_dialog_id_is_valid, #assert_dialog_is_uniq, #assert_dialog_is_valid, #assert_dialog_set_is_valid, #assert_dialog_state_is_valid, #assert_is_not_empty, #assert_middleware_is_not_null, #assert_middleware_list_is_not_null, #assert_prompt_options_is_valid, #assert_turn_context_is_valid, #assert_waterfall_step_context_is_valid

Constructor Details

#initialize(dialog_id, validator = nil, default_locale = nil) ⇒ NumberPrompt

Returns a new instance of NumberPrompt.



9
10
11
12
# File 'lib/bot_platform/dialogs/prompts/number_prompt.rb', line 9

def initialize(dialog_id, validator=nil, default_locale=nil)
  super(dialog_id, validator)
  @default_locale = default_locale
end

Instance Attribute Details

#default_localeObject (readonly)

Returns the value of attribute default_locale.



7
8
9
# File 'lib/bot_platform/dialogs/prompts/number_prompt.rb', line 7

def default_locale
  @default_locale
end

Instance Method Details

#on_prompt(ctx, state, options, is_retry) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/bot_platform/dialogs/prompts/number_prompt.rb', line 14

def on_prompt(ctx, state, options, is_retry)
  assert_turn_context_is_valid ctx
  #assert_dialog_instance_state_is_valid state
  assert_prompt_options_is_valid options

  if is_retry && !options.retry_prompt.nil?
    ctx.send_activity options.retry_prompt
  else
    ctx.send_activity options.prompt
  end
end

#on_recognize(ctx, state, options) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/bot_platform/dialogs/prompts/number_prompt.rb', line 26

def on_recognize(ctx, state, options)
  assert_turn_context_is_valid ctx

  result = PromptRecognizerResult.new
  if ctx.activity.type == BotPlatform::Activity::TYPES[:message]
    message = ctx.activity.text
    if !message.nil? && !message.empty? && message =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
      result.succeeded = true
      result.value = message.to_i
    end
  end

  return result
end