diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-02-18 10:35:25 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-02-18 10:35:25 +0000 |
commit | e7a29380292902eae4799b2658507b3cfffb9cec (patch) | |
tree | 99a7cd3c7d720ef73f998c2756be1fef77ff0ee1 /actionservice/lib/action_service/base.rb | |
parent | e39bf105941133d3d6699c52c18dbd3b9aa0bf5c (diff) | |
download | rails-e7a29380292902eae4799b2658507b3cfffb9cec.tar.gz rails-e7a29380292902eae4799b2658507b3cfffb9cec.tar.bz2 rails-e7a29380292902eae4799b2658507b3cfffb9cec.zip |
Added Action Service to the repository
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@658 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionservice/lib/action_service/base.rb')
-rw-r--r-- | actionservice/lib/action_service/base.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/actionservice/lib/action_service/base.rb b/actionservice/lib/action_service/base.rb new file mode 100644 index 0000000000..c3a1747106 --- /dev/null +++ b/actionservice/lib/action_service/base.rb @@ -0,0 +1,41 @@ +require 'action_service/support/class_inheritable_options' +require 'action_service/support/signature' + +module ActionService # :nodoc: + class ActionServiceError < StandardError # :nodoc: + end + + # An Action Service object implements a specified API. + # + # Used by controllers operating in _Delegated_ dispatching mode. + # + # ==== Example + # + # class PersonService < ActionService::Base + # service_api PersonAPI + # + # def find_person(criteria) + # Person.find_all [...] + # end + # + # def delete_person(id) + # Person.find_by_id(id).destroy + # end + # end + # + # class PersonAPI < ActionService::API::Base + # api_method :find_person, :expects => [SearchCriteria], :returns => [[Person]] + # api_method :delete_person, :expects => [:int] + # end + # + # class SearchCriteria < ActionStruct::Base + # member :firstname, :string + # member :lastname, :string + # member :email, :string + # end + class Base + # Whether to report exceptions back to the caller in the protocol's exception + # format + class_inheritable_option :service_exception_reporting, true + end +end |