aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice/HACKING
diff options
context:
space:
mode:
authorLeon Breedt <bitserf@gmail.com>2005-02-19 08:29:42 +0000
committerLeon Breedt <bitserf@gmail.com>2005-02-19 08:29:42 +0000
commit418d487020d24e69b528fdbedfecb20a87f99fcb (patch)
tree1956d6982123df1638bdef8274dff50ae71b25c2 /actionwebservice/HACKING
parente7499638d06023ae493d14ec1dc4f58bad8ac168 (diff)
downloadrails-418d487020d24e69b528fdbedfecb20a87f99fcb.tar.gz
rails-418d487020d24e69b528fdbedfecb20a87f99fcb.tar.bz2
rails-418d487020d24e69b528fdbedfecb20a87f99fcb.zip
refactoring:
* move dispatching out of the Container into Dispatcher, it makes more sense for Container to only contain the list of web services defined in it. * collapse Wsdl and ActionController "routers" into an ActionController-specific module, no advantage to having them seperate as they were quite tightly coupled. rename to Dispatcher, to avoi confusion with Routing. * add a "_thing" suffix to concept-specific filenames. this is so that we don't end up with many soap.rb files, for example. * remove "virtual invocation" support. adds complexity, and it doesn't seem to add any value. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@679 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionwebservice/HACKING')
-rw-r--r--actionwebservice/HACKING44
1 files changed, 0 insertions, 44 deletions
diff --git a/actionwebservice/HACKING b/actionwebservice/HACKING
deleted file mode 100644
index 536aac7a24..0000000000
--- a/actionwebservice/HACKING
+++ /dev/null
@@ -1,44 +0,0 @@
-== Coding Style
-
-Please try to follow Rails conventions and idioms.
-
-
-== Concepts
-
- * Service
- A service has an associated API definition, and
- implements the methods defined in the API definition
-
- * Container
- A container contains zero or more services
-
- * API
- An API definition defines a list of methods implemented by
- a service
-
- * Router
- A router takes raw wire requests, decodes them, performs the invocation on
- the service, and generates raw wire responses from the invocation result.
- A router is mixed into a container class.
-
- * Protocol
- A protocol implementation implements the unmarshaling and marshaling of
- raw wire requests and responses. Registers with router.
-
-
-== Action Pack Integration
-
-For Action Pack, the ActionController is both container and router, and also contains
-the protocol implementations.
-
-
-== Adding support for a new protocol
-
- 1. Add an ActionWebService::Protocol::YourProtocol module and any classes you need to
- perform unmarshaling/marshaling of protocol requests. See the SOAP implementation
- for an example of a complex mapping, and also see
- ActionWebService::Protocol::AbstractProtocol for the methods you need to implement.
-
- 2. Add unit tests for your new protocol. Be sure to test using a Action Pack test request
- duplicating how the real requests will arrive and verify that mapping to and from Ruby
- types works correctly.