aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-06-27 05:27:35 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-06-27 05:27:35 +0000
commitc19b74d9a6776596144b0a2d96e5795785866f40 (patch)
tree074707f8f320c1877bbd8520de57de0efb80e645 /actionpack/lib
parent264a7e7c46339e07be98a9f49db31d83c09e7733 (diff)
downloadrails-c19b74d9a6776596144b0a2d96e5795785866f40.tar.gz
rails-c19b74d9a6776596144b0a2d96e5795785866f40.tar.bz2
rails-c19b74d9a6776596144b0a2d96e5795785866f40.zip
Dont use evals in backtraces #1513
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1531 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_controller/routing.rb14
1 files changed, 8 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/routing.rb b/actionpack/lib/action_controller/routing.rb
index 184be83781..fb89d72f20 100644
--- a/actionpack/lib/action_controller/routing.rb
+++ b/actionpack/lib/action_controller/routing.rb
@@ -217,9 +217,9 @@ module ActionController
mod_name = segment.camelize
controller_name = "#{mod_name}Controller"
- return eval("mod::#{controller_name}"), (index - start_at) if mod.const_available?(controller_name)
+ return eval("mod::#{controller_name}", nil, 'routing.rb', __LINE__), (index - start_at) if mod.const_available?(controller_name)
return nil unless mod.const_available?(mod_name)
- mod = eval("mod::#{mod_name}")
+ mod = eval("mod::#{mod_name}", nil, 'routing.rb', __LINE__)
end
end
end
@@ -394,13 +394,15 @@ module ActionController
method_name = "generate_path_for_#{ivar}".to_sym
instance_variable_set "@#{ivar}", routes
code = generation_code_for(ivar, method_name).to_s
- eval(code)
+
+ filename = "generated_code/routing/generation_for_controller_#{controller}.rb"
+ eval(code, nil, filename)
@generation_methods[controller.to_s] = method_name
@generation_methods[controller.to_sym] = method_name
end
- eval(generation_code_for('routes', 'generate_default_path').to_s)
+ eval(generation_code_for('routes', 'generate_default_path').to_s, nil, 'generated_code/routing/generation.rb')
end
def recognize(request)
@@ -434,7 +436,7 @@ module ActionController
end
end
- eval g.to_s
+ eval g.to_s, nil, 'generated/routing/recognition.rb'
end
def generation_code_for(ivar = 'routes', method_name = nil)
@@ -563,7 +565,7 @@ module ActionController
define_method(hash_access_name(name)) { hash }
module_eval(%{def #{url_helper_name name}(options = {})
url_for(#{hash_access_name(name)}.merge(options))
- end})
+ end}, nil, "generated/routing/named_routes/#{name}.rb")
protected url_helper_name(name), hash_access_name(name)