Giter Club home page Giter Club logo

cancancan-mongoid's Introduction

CanCanCan-Mongoid

Build Status

Code Climate

Mongoid adapter for the CanCanCan authorisation library to automatically generate database queries from ability rules.

Requirements

  • Ruby >= 2.0.0 OR JRuby >= 9.1
  • Mongoid >= 3.0

Usage

In your Gemfile, insert the following line:

gem 'cancancan'
gem 'cancancan-mongoid'

This is it. You can now call accessible_by on any Mongoid document (which is done automatically in the index action).

You can also use the query syntax that Mongoid provides when defining the abilities.

can :read, Article, :priority.lt => 5

This is all done through a Model Adapter. See that page for more information and how you can add your own.

Bugs?

If you find a bug please add an issue on GitHub or fork the project and send a pull request.

Development

This gem uses appraisals to test the code base against multiple versions of Mongoid.

To start developing, run:

bundle install
appraisal install

You can then run all appraisal files (like CI does), with bundle exec appraisal rake or just run a specific set bundle exec appraisal mongoid_6.1 rake.

cancancan-mongoid's People

Contributors

coorasse avatar glebtv avatar mshibuya avatar shaunakpp avatar vsevolod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cancancan-mongoid's Issues

I use mongoid, but raised unintialized ActiveRecod

uninitialized constant CanCan::Ability::ActiveRecord Did you mean? ActiveModel

截屏2020-12-26 下午11 06 15
My Gemfile:

 ruby '2.7.0'
 gem 'mongoid', '~> 7.2.0'
 gem 'devise', '~> 4.7.3'
 gem 'graphql', '~> 1.11.6'
 gem 'rails_admin', '~> 2.0.2'
 gem 'cancancan', '~>3.2.0'
 gem 'cancancan-mongoid'
 gem 'rails', '~> 6.0.3', '>= 6.0.3.4'

My Ability.rb:

  user ||= User.new # guest user (not logged in)
  if user.admin?
    can :manage, :all
    can :access, :rails_admin
    can :read, :dashboard
  else
    can :read, :all
  end

My config/initializers/rails_admin.rb

 ## == Devise ==
 config.authenticate_with do
     warden.authenticate! scope: :member
 end
 config.current_user_method(&:current_member)
 
 ## == CancanCan ==
 config.authorize_with :cancancan

I tried to open http://localhost:3000/admin, then redirect to sign_in.
After sign in, I got this Error.

Sqllite as development dependency.

Hello,
I'm using this adapter for a personal project and had to modify the adapter a bit, but while installing the build I noticed that the .gemspec file mentions sqllite as a dependency. Since this is a Mongoid adapter is there a particular reason it is required?

It is not compatible with cancancan 3.0.1

How can I use cancancan-mongoid in a rails project with cancancan 3.0.1.
This forces me to downgrade the cancancan version.

Bundler could not find compatible versions for gem "cancancan":
In snapshot (Gemfile.lock):
cancancan (= 3.0.1)

In Gemfile:
cancancan

cancancan-mongoid was resolved to 2.0.0.beta1, which depends on
  cancancan (~> 2.0)

Push 2.0.1 release to Rubygems

Hi there,

The changes in 2.0.1 to support Mongoid 7.1 have been committed to master, but a release for 2.0.1 is not released to Rubygems.org.

Can you push a release so that we can reference this version in our Gemfile? Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.