Skip to content
Go to file
This branch is 70 commits behind neo4jrb:master.

Latest commit

  1) Failure:
AuthenticationOthersTest#test_sign_in_stub_in_json_format [/Users/andreasronge/.rvm/gems/ruby-2.1.2/gems/devise-3.3.0/test/integration/authenticatable_test.rb:492]:
Expected /"password":null/ to match "{\"user\":{\"username\":null,\"facebook_token\":null,\"email\":\"\",\"created_at\":null,\"updated_at\":null}}".

  2) Failure:
AuthenticationOthersTest#test_sign_in_stub_in_json_with_non_attribute_key [/Users/andreasronge/.rvm/gems/ruby-2.1.2/gems/devise-3.3.0/test/integration/authenticatable_test.rb:499]:
Expected /"other_key":null/ to match "{\"user\":{\"username\":null,\"facebook_token\":null,\"email\":\"\",\"created_at\":null,\"updated_at\":null}}".

  3) Failure:
SerializableTest#test_should_include_unsafe_keys_on_JSON_if_a_force_except_is_provided [/Users/andreasronge/.rvm/gems/ruby-2.1.2/gems/devise-3.3.0/test/models/serializable_test.rb:34]:
Expected {"username"=>"usertest", "facebook_token"=>nil, "email"=>"", "created_at"=>"2014-08-27T09:44:08.000+00:00", "updated_at"=>"2014-08-27T09:44:08.000+00:00"} to not have key "email"

  4) Failure:
SerializableTest#test_should_not_include_unsafe_keys_on_JSON_even_if_a_new_except_is_provided [/Users/andreasronge/.rvm/gems/ruby-2.1.2/gems/devise-3.3.0/test/models/serializable_test.rb:29]:
Expected {"username"=>"usertest", "facebook_token"=>nil, "email"=>"", "created_at"=>"2014-08-27T09:44:08.000+00:00", "updated_at"=>"2014-08-27T09:44:08.000+00:00"} to not have key "email"

Git stats


Failed to load latest commit information.

Devise-Neo4j Build Status

A gem for Neo4j integration with the Devise authentication framework.

Neo4j: Devise:



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

gem "neo4j", "~> 3.0.0.alpha.7"
gem "devise-neo4j", "~> 2.0.0.alpha.1"

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 -O
cd myapp
add to your Gem File :
gem 'devise'
gem 'devise-neo4j', :git => ''
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


For JRuby

JRUby neo4j has an embedded server as part of the gem, so nothing else is needed to get set up and running.

For Ruby

There is a Vagrant setup that installs neo4j so that you can easily get started:

$ vagrant up

The neo4j web interface is forward to port 7474 on your local machine: http://localhost:7474.

Note on testing

To run all test, simply type rake If you want to run a specific Devise test (see the devise github repository) set the DEVISE_TEST_PATH.

Example: rake DEVISE_TEST_PATH=integration/confirmable_test.rb

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 (c) 2011 Ben Jackson. See LICENSE for details.


Devise ORM for Neo4j




No packages published


You can’t perform that action at this time.