Sha256: f72f317f28cf5d07bb23f568badbf64ae34fcb87d1565f87c31bb9f6f23ac683

Contents?: true

Size: 928 Bytes

Versions: 4

Compression:

Stored size: 928 Bytes

Contents

require 'mumukit/core'
require 'redcarpet'

module Mumukit
  module ContentType
    module BaseContentType
      def format_exception(e)
        "#{title e.message}\n#{code e.backtrace.join("\n")}"
      end

      def to_html(content)
        Mumukit::ContentType::Sanitizer.sanitize(htmlize content)&.html_safe
      end

      def to_s
        name
      end

      def as_json(_options={})
        name
      end
    end

    def self.parse(s)
      "Mumukit::ContentType::#{s.to_s.titlecase}".constantize
    rescue
      raise "unknown content_type #{s}"
    end

    def self.for(type)
      parse(type)
    end
  end
end

require_relative './content_type/sanitizer'
require_relative './content_type/emoji'
require_relative './content_type/markdown'
require_relative './content_type/with_markdown'
require_relative './content_type/plain'
require_relative './content_type/html'
require_relative './content_type/gobstones'

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mumukit-content-type-1.6.1 lib/mumukit/content_type.rb
mumukit-content-type-1.6.0 lib/mumukit/content_type.rb
mumukit-content-type-1.5.1 lib/mumukit/content_type.rb
mumukit-content-type-1.5.0 lib/mumukit/content_type.rb