class PureScript::Rails::TemplateHandler

Public Class Methods

call(template) click to toggle source
# File lib/purescript/rails/template_handler.rb, line 9
def self.call(template)
  compiled_source = erb_handler.call(template)
  Tempfile.open('purescript-', Rails.root.join('tmp')) do |f|
    begin
      f.write(compiled_source)
      f.flush
      output = `psc #{compiled_source} --main`
    ensure
      f.close
      f.unlink
    end
  end
  output
end
erb_handler() click to toggle source
# File lib/purescript/rails/template_handler.rb, line 4
def self.erb_handler
  @@erb_handler ||= ActionView::Template.registered_template_handler(:erb)
end