Sha256: 8cdacd5dac97f616c40af402734ec31724e990fe5631e4b9b38e5733c2e94534

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

module Gamefic
  module Messaging
    # Send a message to the entity.
    # This method will automatically wrap the message in HTML paragraphs.
    # To send a message without paragraph formatting, use #stream instead.
    #
    # @param message [String]
    def tell(message)
      message = "<p>#{message.strip}</p>"
      # This method uses String#gsub instead of String#gsub! for
      # compatibility with Opal.
      message = message.gsub(/[ \t\r]*\n[ \t\r]*\n[ \t\r]*/, '</p><p>')
      message = message.gsub(/[ \t]*\n[ \t]*/, ' ')
      #user.send message
      p_set_messages messages + message
    end

    # Send a message to the Character as raw text.
    # Unlike #tell, this method will not wrap the message in HTML paragraphs.
    #
    # @param message [String]
    def stream(message)
      p_set_messages messages + message.strip
    end

    # @return [String]
    def messages
      @messages ||= ''
    end
    
    def output
      messages
    end

    def flush
      p_set_messages '' unless messages.empty?
    end

    private

    def p_set_messages str
      @messages = str
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gamefic-1.6.0 lib/gamefic/messaging.rb