class Dialogue::ConversationTemplateRunner

Attributes

message[R]
options[R]

Public Class Methods

new(message, options={}) click to toggle source
# File lib/dialogue/conversation_template_runner.rb, line 7
def initialize(message, options={})
  guard_options! options

  @message = message
  @options = options
end

Public Instance Methods

channel_id() click to toggle source
# File lib/dialogue/conversation_template_runner.rb, line 14
def channel_id
  decorated_message.channel_id
end
decorated_message() click to toggle source
# File lib/dialogue/conversation_template_runner.rb, line 18
def decorated_message
  @decorated_message ||= MessageDecorators::Slack.new(message)
end
message_from_author?() click to toggle source
# File lib/dialogue/conversation_template_runner.rb, line 22
def message_from_author?
  user_id == options[:author_id]
end
run(template) click to toggle source
# File lib/dialogue/conversation_template_runner.rb, line 26
def run(template)
  unless message_from_author?
    if Dialogue.conversation_registered? user_id, channel_id
      conversation = Dialogue.find_conversation user_id, channel_id
    else
      conversation = Conversation.new template, decorated_message, options

      Dialogue.register_conversation conversation
    end

    conversation.perform decorated_message
  end
end
user_id() click to toggle source
# File lib/dialogue/conversation_template_runner.rb, line 40
def user_id
  decorated_message.user_id
end