Module: Red::RailsBase

Defined in:
lib/red/plugin.rb

Overview

def self.update_javascripts

@@red_updated = true
Red.init
red_dir = 'public/javascripts/red/'
Dir.glob("#{red_dir}**/*.red").each do |filepath|
  if self.update?(filename = filepath.gsub(red_dir,'').gsub(/.[rb|red]+$/,'')) || true
    js_output = (File.read(filepath).translate_to_sexp_array.red! || '')

    filename.split('/')[0...-1].inject('public/javascripts') do |string,dir|
      new_dir = string << '/' << dir
      Dir.mkdir(new_dir) unless File.exists?(new_dir)
      string
    end

    File.open("public/javascripts/#{filename}.js", 'w') { |f| f.write(js_output) }
  end
end

end

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object

:nodoc:



42
43
44
45
46
47
48
49
50
# File 'lib/red/plugin.rb', line 42

def self.included(base)
  base.send('alias_method', :red_old_process, :process)
  base.class_eval do
    def process(*args)
      Red.update_javascripts
      red_old_process(*args)
    end
  end
end