Every repository with this icon (
Every repository with this icon (
Run the following if you haven't already:
gem sources -a http://gems.github.com
Install the gem(s):
sudo gem install paulcarey-merb_relaxdb
| name | age | message | |
|---|---|---|---|
| |
.gitignore | ||
| |
CONTRIBUTORS | ||
| |
Generators | ||
| |
LICENSE | ||
| |
README.textile | ||
| |
Rakefile | ||
| |
lib/ | ||
| |
merb_relaxdb.gemspec | ||
| |
spec/ |
Overview
merb_relaxdb is a merb plugin that provides integration with CouchDB via the RelaxDB gem. Version numbers indicate compatibility with Merb. Revision numbers are excluded e.g. merb_relaxdb 1.0 should be compatible with Merb 1.0.x
The current release includes integration with merb-auth, but this should not yet be considered stable. A sample integration file is included below.
merb_relaxdb expects your merb app to augment the standard layout as described in the following tree. couchdb.yml is mandatory. Reference data, sample data and views are optional. merb-gen model my_model will create a sample couchdb.yml.
To use merb_relaxdb, list dependency "merb_relaxdb", "1.0" in config/dependencies.rb and use_orm :relaxdb in config/init.rb
my_merb_app $ tree
.
|-- Rakefile
|-- app
|-- autotest
|-- config
| |-- couchdb.yml
|-- couchdb
| |-- data
| | |-- reference
| | | `-- reference_data.rb
| | `-- sample
| | `-- sample_data.rb
| `-- views
| `-- views.js
|-- lib
|-- log
|-- public
|-- scratch
`-- spec
Sample merb/merb-auth/setup.rb
begin
Merb::Authentication.user_class = User
# Mixin the salted user mixin
require 'merb-auth-more/mixins/salted_user'
require 'merb_relaxdb/rdb_salted_user'
Merb::Authentication.user_class.class_eval{ include Merb::Authentication::Mixins::SaltedUser }
# Setup the session serialization
class Merb::Authentication
def fetch_user(session_user_id)
RelaxDB.load(session_user_id) rescue nil
end
def store_user(user)
user.nil? ? user : user._id
end
end
rescue => e
Merb.logger.error <<-TEXT
You need to setup some kind of user class with merb-auth.
Merb::Authentication.user_class = User
If you want to fully customize your authentication you should use merb-core directly.
See lib/authentication/setup.rb and strategies.rb to customize your setup
TEXT
end












