Skip to content

Commit

Permalink
Use sprocket engine instead, handle pre-processing
Browse files Browse the repository at this point in the history
  • Loading branch information
erithmetic committed Mar 15, 2012
1 parent 02e9499 commit c744560
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 8 deletions.
25 changes: 20 additions & 5 deletions lib/nodeify/java_script.rb
@@ -1,10 +1,25 @@
require 'sprockets'
require 'tilt'
require 'sandbox'

module Nodeify
class JavaScript < Sprockets::Processor
def render(context, options)
@source = `node -e "var browserify = require('browserify'), _ = process.stdout.write(browserify({ entry: '#{file}', require: { http: 'dkastner-http-browserify' } }).bundle());"`
@source
class JavaScript < Tilt::Template
attr_accessor :body

def initialize(*arg)
super
end

def prepare
end

def evaluate(context, options)
output = ''
Sandbox.play do |path|
file_path = File.join(path, File.basename(file))
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());"`
end
output
end
end
end
4 changes: 2 additions & 2 deletions lib/nodeify/rails.rb
Expand Up @@ -7,8 +7,8 @@
module Nodeify
class Rails < Rails::Railtie
initializer "nodeify.sprockets.environment" do |app|
app.assets.unregister_preprocessor 'application/javascript', Sprockets::DirectiveProcessor
app.assets.register_bundle_processor 'application/javascript', Nodeify::JavaScript
app.assets.unregister_processor 'application/javascript', Sprockets::DirectiveProcessor
app.assets.register_engine '.js', Nodeify::JavaScript
end
end
end
3 changes: 2 additions & 1 deletion nodeify.gemspec
Expand Up @@ -18,7 +18,8 @@ Gem::Specification.new do |s|
s.require_paths = ["lib"]

s.add_dependency 'rails', '~> 3.1'
s.add_dependency 'sprockets'
s.add_dependency 'sandbox'
s.add_dependency 'tilt'
s.add_development_dependency 'jeweler'
s.add_development_dependency 'rspec'
end

0 comments on commit c744560

Please sign in to comment.