Class: ApplicationAction
- Inherits:
-
Object
- Object
- ApplicationAction
- Defined in:
- lib/generators/ask/install/templates/application_action.rb
Overview
Base class for your application's actions.
Subclass this to define actions — operations callable from any channel (web, Slack, voice) by name:
module Chats
class Create < ApplicationAction
def call
chat = context.channel.start_new_chat!
Ask::Actions::Result.ok(message: "Chat created", data: { chat: chat })
end
end
end
Then dispatch from anywhere:
Ask::Actions.dispatch(action: "chats.create", context: context, params: {})
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(context:, params: {}) ⇒ ApplicationAction
constructor
A new instance of ApplicationAction.
Constructor Details
#initialize(context:, params: {}) ⇒ ApplicationAction
Returns a new instance of ApplicationAction.
25 26 27 28 |
# File 'lib/generators/ask/install/templates/application_action.rb', line 25 def initialize(context:, params: {}) @context = context @params = params end |
Class Method Details
.call(context:, params: {}) ⇒ Object
21 22 23 |
# File 'lib/generators/ask/install/templates/application_action.rb', line 21 def self.call(context:, params: {}) new(context: context, params: params).call end |