require 'tilt' require 'fileutils' module Nodeify class JavaScript < Tilt::Template attr_accessor :body def initialize(*arg) super end def prepare end def evaluate(context, options) output = '' file_path = file + '.tmp' File.open(file_path, 'w') { |f| f.puts data } output = `node -e "var browserify = require('browserify'), _ = process.stdout.write(browserify({ entry: '#{file_path}', require: { http: 'dkastner-http-browserify' } }).bundle());"` FileUtils.rm_f file_path output end end end