class RedJS::Processor
Public Class Methods
process( path, data )
click to toggle source
# File lib/redjs/processor.rb, line 8 def self.process ( path, data ) required = [] unless data =~ /\$define\s*\(\s*['"]#{ path }['"]\s*,/ unless data.gsub! /\$define\s*\(/, "\\0'#{ path }'," unless data =~ /\$defines\s*\(\s*['"]#{ path }['"]/ data += "\n" + "$define('#{ path }',void 0);" end end end data.gsub! /(\$require\s*\(\s*['"])([^'"]+)(['"]\s*\))/ do asset_path = $2 if asset_path[ 0 ] == '.' asset_path = Pathname.new( path ).dirname + asset_path end required << asset_path unless asset_path == path "#{ $1 }#{ asset_path }#{ $3 }" end { data: data, required: required } end