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
A gem for Neo4j integration with the Devise authentication framework.
Neo4j: github.com/andreasronge/neo4j Devise: github.com/plataformatec/devise
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>!
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
-
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.