def direct_action_class_and_action_name( request )
klass = @application.direct_action_class
action_name = nil
if path = request.request_handler_path then
path = path.dup
path.gsub!(/\A\//, '')
path.gsub!(/\?(.*)/, '')
key, class_name, action_name = path.split('/')
begin
klass = Object
class_name.split('::').each do |name|
klass = klass.const_get(name)
end
rescue Exception => e
klass = @application.direct_action_class
unless action_name then
action_name = class_name
end
end
end
unless klass <= DirectAction then
klass = @application.direct_action_class
action_name = nil
end
[klass, action_name]
end