Sha256: 8895450e35515a3aa436f2dbb5e8ab4d2df09c2307194b73f180c37cdb9a1057
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
module JsRoutes class Railtie < ::Rails::Railtie config.before_configuration do config.action_view.javascript_expansions[:defaults] |= %w{ js_routes jquery.pathBuilder.js } end config.after_initialize do if Rails.env.development? ApplicationController.class_eval do before_filter do JsRoutes.generate_routes_file end end end end initializer 'js_routes.generate_routes_file', :after=> :build_middleware_stack do |app| JsRoutes.generate_routes_file FileUtils.cp File.expand_path('../../assets/javascripts/jquery.pathBuilder.js', __FILE__), File.join(Rails.root, 'public', 'javascripts') end end def self.generate_routes_file puts 'GENERATING ROUTES FILE' filename = File.join(Rails.root, 'public', 'javascripts', 'js_routes.js') FileUtils.rm filename, :force => true File.open(filename, 'w') do |f| f << 'window.Routes = {};' Rails.application.routes.routes.each do |route| f << <<-JS.strip Routes.#{route.name}_path = function() { Array.prototype.unshift.call(arguments, '#{route.path}'); return $.buildPath.apply($, arguments); }; JS end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
js_routes-0.1.1 | lib/js_routes/railtie.rb |