diff options
author | Yehuda Katz <wycats@gmail.com> | 2009-03-17 18:04:22 -0700 |
---|---|---|
committer | Yehuda Katz <wycats@gmail.com> | 2009-03-17 18:04:22 -0700 |
commit | f55514125cae291791365effc856d237008f7cd2 (patch) | |
tree | 6080509ce323a5880b8b7552efc5d8f76afaade3 /actionpack/lib/action_controller/abstract/base.rb | |
parent | a2637e9f1fba92bc0b8dbf461ce9f4f8ffb4cfaa (diff) | |
download | rails-f55514125cae291791365effc856d237008f7cd2.tar.gz rails-f55514125cae291791365effc856d237008f7cd2.tar.bz2 rails-f55514125cae291791365effc856d237008f7cd2.zip |
Working toward getting a basic AbstractController framework
Diffstat (limited to 'actionpack/lib/action_controller/abstract/base.rb')
-rw-r--r-- | actionpack/lib/action_controller/abstract/base.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/abstract/base.rb b/actionpack/lib/action_controller/abstract/base.rb index fa86d68c04..ade7719cc0 100644 --- a/actionpack/lib/action_controller/abstract/base.rb +++ b/actionpack/lib/action_controller/abstract/base.rb @@ -17,14 +17,24 @@ module AbstractController end def process(action_name) + unless respond_to_action?(action_name) + raise ActionNotFound, "The action '#{action_name}' could not be found" + end + @_action_name = action_name process_action self.response_obj[:body] = self.response_body self end + private + def process_action - send(action_name) + respond_to?(action_name) ? send(action_name) : send(:action_missing, action_name) + end + + def respond_to_action?(action_name) + respond_to?(action_name) || respond_to?(:action_missing, true) end end |