Presentation by Jonathan Weiss about Ruby on CouchDB at Ruby User Group Berlin in Marc 2010. Present SimplyStored, a nice wrapper for Ruby object. RockingChair is an in-memory CouchDB for speeding up your tests.
9. CouchDB - CRUD
Create and update:
PUT /starwars/BCCD12CBB
Read:
GET /starwars/BCCD12CBB
Delete:
DELETE /starwars/BCCD12CBB
9
Thursday, March 4, 2010
10. CouchDB
How do I query my data?
10
Thursday, March 4, 2010
15. Queries
SQL CouchDB JavaScript
SELECT * FROM function(doc) {
if (doc['ruby_class'] == 'User' &&
`users` WHERE doc['status'] == 1) {
`users`.id = 5 emit([doc.project_id,
doc.created_at], null);
AND `status` = 1; }
}
15
Thursday, March 4, 2010
16. Queries
ActiveRecord SimplyStored
class Project < ActiveRecord::Base class Project
has_many :users include SimplyStored::Couch
end has_many :users
end
Project.first.users Project.first.users
16
Thursday, March 4, 2010
18. SimplyStored
Standing on the shoulders of giants:
- CouchPotato
- CouchRest
- RestClient
- HTTP
- CouchDB
http://github.com/peritor/simply_stored
Thursday, March 4, 2010
19. RockingChair
In-memory CouchDB
- Just a big Hash
- Speeds up your tests
- Tests can run in parallel
- Nice for debugging
http://github.com/jweiss/rocking_chair
Thursday, March 4, 2010
20. Now show me some Code!
Thursday, March 4, 2010