aboutsummaryrefslogtreecommitdiffstats
path: root/activeresource/README.rdoc
diff options
context:
space:
mode:
Diffstat (limited to 'activeresource/README.rdoc')
-rw-r--r--activeresource/README.rdoc46
1 files changed, 23 insertions, 23 deletions
diff --git a/activeresource/README.rdoc b/activeresource/README.rdoc
index 127ac5b4a9..afa25e1676 100644
--- a/activeresource/README.rdoc
+++ b/activeresource/README.rdoc
@@ -9,7 +9,7 @@ in ActionController::Resources).
Active Resource attempts to provide a coherent wrapper object-relational mapping for REST
web services. It follows the same philosophy as Active Record, in that one of its prime aims
-is to reduce the amount of code needed to map to these resources. This is made possible
+is to reduce the amount of code needed to map to these resources. This is made possible
by relying on a number of code- and protocol-based conventions that make it easy for Active Resource
to infer complex relations and structures. These conventions are outlined in detail in the documentation
for ActiveResource::Base.
@@ -30,25 +30,25 @@ that inherits from ActiveResource::Base and providing a <tt>site</tt> class vari
end
Now the Person class is REST enabled and can invoke REST services very similarly to how Active Record invokes
-lifecycle methods that operate against a persistent store.
+life cycle methods that operate against a persistent store.
# Find a person with id = 1
ryan = Person.find(1)
- Person.exists?(1) #=> true
+ Person.exists?(1) # => true
As you can see, the methods are quite similar to Active Record's methods for dealing with database
records. But rather than dealing directly with a database record, you're dealing with HTTP resources (which may or may not be database records).
==== Protocol
-Active Resource is built on a standard XML format for requesting and submitting resources over HTTP. It mirrors the RESTful routing
+Active Resource is built on a standard XML format for requesting and submitting resources over HTTP. It mirrors the RESTful routing
built into Action Controller but will also work with any other REST service that properly implements the protocol.
REST uses HTTP, but unlike "typical" web applications, it makes use of all the verbs available in the HTTP specification:
* GET requests are used for finding and retrieving resources.
* POST requests are used to create new resources.
* PUT requests are used to update existing resources.
-* DELETE requests are used to delete resources.
+* DELETE requests are used to delete resources.
For more information on how this protocol works with Active Resource, see the ActiveResource::Base documentation;
for more general information on REST web services, see the article here[http://en.wikipedia.org/wiki/Representational_State_Transfer].
@@ -69,8 +69,8 @@ for a request for a single element, the XML of that item is expected in response
The XML document that is received is used to build a new object of type Person, with each
XML element becoming an attribute on the object.
- ryan.is_a? Person #=> true
- ryan.attribute1 #=> 'value1'
+ ryan.is_a? Person # => true
+ ryan.attribute1 # => 'value1'
Any complex element (one that contains other elements) becomes its own object:
@@ -81,8 +81,8 @@ Any complex element (one that contains other elements) becomes its own object:
# for GET http://api.people.com:3000/people/1.xml
#
ryan = Person.find(1)
- ryan.complex #=> <Person::Complex::xxxxx>
- ryan.complex.attribute2 #=> 'value2'
+ ryan.complex # => <Person::Complex::xxxxx>
+ ryan.complex.attribute2 # => 'value2'
Collections can also be requested in a similar fashion
@@ -95,9 +95,9 @@ Collections can also be requested in a similar fashion
#
# for GET http://api.people.com:3000/people.xml
#
- people = Person.find(:all)
- people.first #=> <Person::xxx 'first' => 'Ryan' ...>
- people.last #=> <Person::xxx 'first' => 'Jim' ...>
+ people = Person.all
+ people.first # => <Person::xxx 'first' => 'Ryan' ...>
+ people.last # => <Person::xxx 'first' => 'Jim' ...>
==== Create
@@ -111,17 +111,17 @@ as the id of the ARes object.
# is submitted as the body on
#
# POST http://api.people.com:3000/people.xml
- #
+ #
# when save is called on a new Person object. An empty response is
# is expected with a 'Location' header value:
#
# Response (201): Location: http://api.people.com:3000/people/2
#
ryan = Person.new(:first => 'Ryan')
- ryan.new? #=> true
- ryan.save #=> true
- ryan.new? #=> false
- ryan.id #=> 2
+ ryan.new? # => true
+ ryan.save # => true
+ ryan.new? # => false
+ ryan.id # => 2
==== Update
@@ -139,9 +139,9 @@ server side was successful.
# is expected with code (204)
#
ryan = Person.find(1)
- ryan.first #=> 'Ryan'
+ ryan.first # => 'Ryan'
ryan.first = 'Rizzle'
- ryan.save #=> true
+ ryan.save # => true
==== Delete
@@ -155,10 +155,10 @@ Destruction of a resource can be invoked as a class and instance method of the r
# is expected with response code (200)
#
ryan = Person.find(1)
- ryan.destroy #=> true
- ryan.exists? #=> false
- Person.delete(2) #=> true
- Person.exists?(2) #=> false
+ ryan.destroy # => true
+ ryan.exists? # => false
+ Person.delete(2) # => true
+ Person.exists?(2) # => false
You can find more usage information in the ActiveResource::Base documentation.