Skip to content

cheerfulstoic/devise-neo4j

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Important Note

This is a fork of the devise-neo4j project, updated to work with newer version of Neo4j.rb and Devise.

Most of the devise tests pass. You can see the few that do not in test/overrides . All but one of the failures seem to be very minor issues. The one oddity can be seen in RegistrationTest, which is testing validates_confirmation_of :password. It’s unclear if this is a real bug (cannot replicate in a unit test or in an application ).

Note on development: the devise test suite runs out of permgen quick on jruby. To fix this, I set JRUBY_OPTS to: -X+O -J-Xms1024m -J-Xmx2048m -J-XX:PermSize=256m -J-XX:MaxPermSize=512m

devise-neo4j

A gem for Neo4j integration with the Devise authentication framework.

Neo4j: github.com/andreasronge/neo4j Devise: github.com/plataformatec/devise

Usage

Installation

Add the neo4j and devise-neo4j gems to your Gemfile:

gem "neo4j", "~> 3.0.0.alpha.7"
gem "devise-neo4j", git: 'git@github.com:cheerfulstoic/devise-neo4j.git'

Run the bundle install command:

bundle install

Then run the devise install generator and optionally update or create a devise-neo4j model:

rails g devise:install --orm=neo4j
rails g neo4j:devise MODEL

Now the model is setup like a default devise model, meaning you can do things like adding a before_filter in a controller to restrict access to logged-in users only:

before_filter :authenticate_<your model name>!

Example App

You can see a very simple app that demonstrates Neo4j and devise here:

gem install rails
rails new myapp -m http://andreasronge.github.com/neo4j/neo4j.rb -O
cd myapp
add to your Gem File :
gem 'devise'
gem 'devise-neo4j', :git => 'git@github.com:cheerfulstoic/devise-neo4j.git'
bundle
rails generate devise:install --orm=neo4j

# install the database unless you already have a neo4j database, or use JRuby Embedded Neo4j db
rake neo4j:install[community-2.1.2] # check which one is the latest
rake neo4j:start

rails g neo4j:devise User
# add to your config/routes.rb:
  devise_for :users
  root :to => "secrets#show"

# generate a controller for the protected content
rails g controller secrets show

# in app/controllers/sercrets_controller.rb delete line get 'secrets/show' and add:
  before_filter :authenticate_user!

# in app/views/secrets/show.html.erb: add:
  <p>Shhhh... this page is only visible to logged-in users!</p>

  <%= link_to "Log out", destroy_user_session_path, method: :delete  %>

rails s

# go to http://localhost:3000/users/sign_up

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2011 Ben Jackson. See LICENSE for details.

About

Devise ORM for Neo4j

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%