Class: BotPlatform::TurnContext
- Inherits:
-
Object
- Object
- BotPlatform::TurnContext
- Includes:
- Asserts
- Defined in:
- lib/bot_platform/turn_context.rb
Instance Attribute Summary collapse
-
#_on_delete_activities ⇒ Object
コンテキストに登録されたサービスを保持.
-
#_on_send_activities ⇒ Object
コンテキストに登録されたサービスを保持.
-
#_on_update_activities ⇒ Object
コンテキストに登録されたサービスを保持.
-
#activity ⇒ Object
readonly
元のアダプター情報.
-
#adpter ⇒ Object
readonly
元のアダプター情報.
-
#buffered_reply_activities ⇒ Object
コンテキストに登録されたサービスを保持.
-
#channel_id ⇒ Object
readonly
元のアダプター情報.
-
#from ⇒ Object
readonly
元のアダプター情報.
-
#locale ⇒ Object
コンテキストに登録されたサービスを保持.
-
#responded ⇒ Object
コンテキストに登録されたサービスを保持.
-
#state ⇒ Object
コンテキストに登録されたサービスを保持.
-
#turn_state ⇒ Object
コンテキストに登録されたサービスを保持.
Class Method Summary collapse
Instance Method Summary collapse
- #add_on_delete_activits(activity_handler) ⇒ Object
- #add_on_send_activities(activity_handler) ⇒ Object
- #add_on_update_activities(activity_handler) ⇒ Object
-
#initialize(adapter, activity) ⇒ TurnContext
constructor
A new instance of TurnContext.
-
#send_activities(activities) ⇒ Object
Sends a set of activities to the sender of the incoming activity.
- #send_activity(activity) ⇒ Object
- #send_confirm(text, prefix = "") ⇒ Object
- #send_content(content) ⇒ Object
- #send_image(preview_url, resource_url) ⇒ Object
- #send_message(text) ⇒ Object
- #send_options(caption, prefix, options) ⇒ Object
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(adapter, activity) ⇒ TurnContext
Returns a new instance of TurnContext.
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/bot_platform/turn_context.rb', line 21 def initialize(adapter, activity) @adapter = adapter @activity = activity # incoming activity @from = activity.from @channel_id = activity.channel_id @responded = false @locale = "ja" @_on_send_activities = [] @_on_update_activities = [] @_on_delete_activities = [] end |
Instance Attribute Details
#_on_delete_activities ⇒ Object
コンテキストに登録されたサービスを保持
12 13 14 |
# File 'lib/bot_platform/turn_context.rb', line 12 def _on_delete_activities @_on_delete_activities end |
#_on_send_activities ⇒ Object
コンテキストに登録されたサービスを保持
12 13 14 |
# File 'lib/bot_platform/turn_context.rb', line 12 def _on_send_activities @_on_send_activities end |
#_on_update_activities ⇒ Object
コンテキストに登録されたサービスを保持
12 13 14 |
# File 'lib/bot_platform/turn_context.rb', line 12 def _on_update_activities @_on_update_activities end |
#activity ⇒ Object (readonly)
元のアダプター情報
7 8 9 |
# File 'lib/bot_platform/turn_context.rb', line 7 def activity @activity end |
#adpter ⇒ Object (readonly)
元のアダプター情報
7 8 9 |
# File 'lib/bot_platform/turn_context.rb', line 7 def adpter @adpter end |
#buffered_reply_activities ⇒ Object
コンテキストに登録されたサービスを保持
12 13 14 |
# File 'lib/bot_platform/turn_context.rb', line 12 def buffered_reply_activities @buffered_reply_activities end |
#channel_id ⇒ Object (readonly)
元のアダプター情報
7 8 9 |
# File 'lib/bot_platform/turn_context.rb', line 7 def channel_id @channel_id end |
#from ⇒ Object (readonly)
元のアダプター情報
7 8 9 |
# File 'lib/bot_platform/turn_context.rb', line 7 def from @from end |
#locale ⇒ Object
コンテキストに登録されたサービスを保持
12 13 14 |
# File 'lib/bot_platform/turn_context.rb', line 12 def locale @locale end |
#responded ⇒ Object
コンテキストに登録されたサービスを保持
12 13 14 |
# File 'lib/bot_platform/turn_context.rb', line 12 def responded @responded end |
#state ⇒ Object
コンテキストに登録されたサービスを保持
12 13 14 |
# File 'lib/bot_platform/turn_context.rb', line 12 def state @state end |
#turn_state ⇒ Object
コンテキストに登録されたサービスを保持
12 13 14 |
# File 'lib/bot_platform/turn_context.rb', line 12 def turn_state @turn_state end |
Class Method Details
.dup_context(context, activity) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/bot_platform/turn_context.rb', line 49 def self.dup_context(context, activity) ctx = TurnContext.new context.adapter, activity ctx.state = context.state ctx.responded = context.responded if context.is_a?(TurnContext) ctx.buffered_reply_activities = context.buffered_reply_activities # keep private middleware pipeline hooks. ctx._on_send_activities = context._on_send_activities ctx._on_update_activity = context._on_update_activity ctx._on_delete_activity = context._on_delete_activity end return ctx end |
Instance Method Details
#add_on_delete_activits(activity_handler) ⇒ Object
44 45 46 47 |
# File 'lib/bot_platform/turn_context.rb', line 44 def add_on_delete_activits(activity_handler) @_on_delete_activities << activity_handler self end |
#add_on_send_activities(activity_handler) ⇒ Object
34 35 36 37 |
# File 'lib/bot_platform/turn_context.rb', line 34 def add_on_send_activities(activity_handler) @_on_send_activities << activity_handler self end |
#add_on_update_activities(activity_handler) ⇒ Object
39 40 41 42 |
# File 'lib/bot_platform/turn_context.rb', line 39 def add_on_update_activities(activity_handler) @_on_update_activities << activity_handler self end |
#send_activities(activities) ⇒ Object
Sends a set of activities to the sender of the incoming activity.
96 97 98 99 100 101 |
# File 'lib/bot_platform/turn_context.rb', line 96 def send_activities(activities) assert_activity_is_not_null activities assert_activity_is_not_null activities[0] @adapter.send_activities(self, activities) end |
#send_activity(activity) ⇒ Object
90 91 92 93 |
# File 'lib/bot_platform/turn_context.rb', line 90 def send_activity(activity) activity.to = @activity.from send_activities([activity]) end |
#send_confirm(text, prefix = "") ⇒ Object
68 69 70 71 |
# File 'lib/bot_platform/turn_context.rb', line 68 def send_confirm(text,prefix="") activity_to_send = Activity.new(Activity::TYPES[:confirm], {text: text, prefix: prefix}) send_activity(activity_to_send) end |
#send_content(content) ⇒ Object
83 84 85 86 87 88 |
# File 'lib/bot_platform/turn_context.rb', line 83 def send_content(content) activity_to_send = Activity.new(Activity::TYPES[:carousel], { content: content, to: @activity.from }) send_activity(activity_to_send) end |
#send_image(preview_url, resource_url) ⇒ Object
78 79 80 81 |
# File 'lib/bot_platform/turn_context.rb', line 78 def send_image(preview_url, resource_url) activity_to_send = Activity.new(Activity::TYPES[:image], {resource_url: resource_url, preview_url: preview_url}) send_activity(activity_to_send) end |
#send_message(text) ⇒ Object
63 64 65 66 |
# File 'lib/bot_platform/turn_context.rb', line 63 def (text) activity_to_send = Activity.new(Activity::TYPES[:message], {text: text}) send_activity(activity_to_send) end |
#send_options(caption, prefix, options) ⇒ Object
73 74 75 76 |
# File 'lib/bot_platform/turn_context.rb', line 73 def (caption, prefix, ) activity_to_send = Activity.new(Activity::TYPES[:options], {text: caption, options: , prefix: prefix}) send_activity(activity_to_send) end |