Sha256: 602860aea5bb286a0292cef8fdb49521d37109207d291c2a00868a5385c8db28

Contents?: true

Size: 718 Bytes

Versions: 1

Compression:

Stored size: 718 Bytes

Contents

# encoding: UTF-8

require 'tilt'

module Middleman
  module React
    # Tilt Tempalte for handling JSX files
    class Template < Tilt::Template
      self.default_mime_type = 'application/javascript'

      cattr_accessor :harmony
      cattr_accessor :strip_types

      @harmony = false
      @strip_types = false

      def prepare
        if self.class.harmony || options.key?(:harmony)
          options[:harmony] = self.class.harmony
        end
        if self.class.strip_types || options.key?(:stripTypes)
          options[:stripTypes] = self.class.strip_types
        end
      end

      def evaluate(_scope, _locals, &_block)
        @output ||= JSX.transform(data, options)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
middleman-react-0.13.3 lib/middleman-react/jsx/template.rb