Sha256: 01bdcdf695622628817d71337a42b9144ac8ebc70f6101b1a6cb7fe7bc123d78
Contents?: true
Size: 1.88 KB
Versions: 7
Compression:
Stored size: 1.88 KB
Contents
module Lita # A wrapper object that provides the primary interface for handlers to # respond to incoming chat messages. class Response extend Forwardable # The incoming message. # @return [Lita::Message] The message. attr_accessor :message # A hash of arbitrary data that can be populated by Lita extensions. # @return [Hash] The extensions data. # @since 3.2.0 attr_accessor :extensions # The pattern the incoming message matched. # @return [Regexp] The pattern. attr_accessor :pattern # @!method args # @see Lita::Message#args # @!method reply(*strings) # @see Lita::Message#reply # @!method reply_privately(*strings) # @see Lita::Message#reply_privately # @!method reply_with_mention(*strings) # @see Lita::Message#reply_with_mention # @!method user # @see Lita::Message#user # @!method private_message? # @see Lita::Message#private_message? # @since 4.5.0 def_delegators :message, :args, :reply, :reply_privately, :reply_with_mention, :user, :private_message?, :command? # @!method room # @see Lita::Message#room_object # @since 4.5.0 def_delegator :message, :room_object, :room # @param message [Lita::Message] The incoming message. # @param pattern [Regexp] The pattern the incoming message matched. def initialize(message, pattern) self.message = message self.extensions = {} self.pattern = pattern end # An array of matches from scanning the message against the route pattern. # @return [Array<String>, Array<Array<String>>] The array of matches. def matches @matches ||= message.match(pattern) end # A +MatchData+ object from running the pattern against the message body. # @return [MatchData] The +MatchData+. def match_data @match_data ||= pattern.match(message.body) end end end
Version data entries
7 entries across 7 versions & 1 rubygems