Sha256: d7de8b4e848f6e40be8875716e4e69df035ff46f796ae6b14cf7f6dca84fd1dd

Contents?: true

Size: 690 Bytes

Versions: 1

Compression:

Stored size: 690 Bytes

Contents

# frozen_string_literal: true

module Cosensee
  # convert into html
  class TailwindRenderer
    include HtmlEncodable
    include RenderClassFindable

    # content is Cosensee objects or an array of them
    def initialize(content:, project:)
      @content = content
      @project = project
    end

    attr_reader :content, :project

    def render
      if content.is_a?(Array)
        content.map do |c|
          if c.is_a?(String)
            escape_html(c)
          else
            find_renderer_class(c).new(content: c, project:).render
          end
        end.join
      else
        find_renderer_class(content).new(content:, project:).render
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cosensee-0.8.0 lib/cosensee/tailwind_renderer.rb