0.06
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Neo4j integration with the Devise authentication framework
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 3.0
>= 3.5.2
>= 3.0.0
~> 0.5.0
>= 4.2
>= 1.2.1
 Project Readme

Devise-ActiveGraph Build Status

A gem for ActiveGraph integration with the Devise authentication framework.

ActiveGraph: https://github.com/neo4jrb/activegraph Devise: https://github.com/plataformatec/devise

Usage

Installation

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

gem "activegraph"
gem "devise-activegraph"

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=active_graph
# Make sure the model file is created ahead of time!
rails g neo4j:active_graph MODEL  # (Where MODEL is something like User)

Add the Devise route to your config/routes.rb:

devise_for :users

Now the model is set up like a default Devise model, meaning you can do things like adding a before_action in a controller to restrict access to logged-in users only:

before_action :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://neo4jrb.io/neo4j/rails.rb -O
cd myapp

# Add the gem to your Gemfile, then run bundle:
gem 'devise-activegraph'
bundle

rails generate devise:install --orm=active_graph

# Install the database unless you already have a Neo4j database, or use JRuby Embedded Neo4j db
rake neo4j:install[community-2.2.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/secrets_controller.rb add:
before_action :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  %>

# Start the application and visit http://localhost:3000/users/sign_up
rails s

Developing

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, checkout devise repository in same directory as devise-activegraph and 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

Copyright (c) 2011 Ben Jackson. See LICENSE for details.