Sha256: fe8d65bb96223c44a353a8047377f8bfb982ae37a53bbcaca819a8799fcadae9

Contents?: true

Size: 698 Bytes

Versions: 11

Compression:

Stored size: 698 Bytes

Contents

require 'execjs'
require 'react/jsx/processor'
require 'react/jsx/template'
require 'react/jsx/jsx_transformer'
require 'react/jsx/babel_transformer'
require 'rails'

module React
  module JSX
    DEFAULT_TRANSFORMER = BabelTransformer
    mattr_accessor :transform_options, :transformer_class, :transformer

    # You can assign `config.react.jsx_transformer_class = `
    # to provide your own transformer. It must implement:
    # - #initialize(options)
    # - #transform(code) => new code
    self.transformer_class = DEFAULT_TRANSFORMER

    def self.transform(code)
      self.transformer ||= transformer_class.new(transform_options)
      self.transformer.transform(code)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
react-rails-1.8.2 lib/react/jsx.rb
react-rails-1.8.1 lib/react/jsx.rb
react-rails-1.8.0 lib/react/jsx.rb
react-rails-1.7.2 lib/react/jsx.rb
react-rails-1.7.1 lib/react/jsx.rb
react-rails-1.7.0 lib/react/jsx.rb
react-rails-1.6.2 lib/react/jsx.rb
react-rails-1.6.1 lib/react/jsx.rb
react-rails-1.6.0 lib/react/jsx.rb
react-rails-1.5.0 lib/react/jsx.rb
react-rails-1.4.2 lib/react/jsx.rb