Code Monkey home page Code Monkey logo

Comments (13)

mkaschenko avatar mkaschenko commented on May 8, 2024

Sounds good

from cancancan.

bryanrite avatar bryanrite commented on May 8, 2024

I definitely think we should drop meta_where support in favour of just supporting AREL conditions. This would be a breaking change though and have to be wrapped up in a 2.0 release, which I'm not quite prepared to do yet (most due to #14).

I will keep this open as you've already done most of the hard work of identifying what can be pulled out.

Thanks!

from cancancan.

Sija avatar Sija commented on May 8, 2024

What about switching to support squeel?
If it helps, I've done some integration ages ago.

from cancancan.

legendetm avatar legendetm commented on May 8, 2024

Squeel has many problems with ActiveRecord 4 when dealing with complex queries and I think it's not actively devloped any more

from cancancan.

bryanrite avatar bryanrite commented on May 8, 2024

I love squeel as well, but I don't think its support should be baked into CanCanCan. I would like to make sure CanCanCan accepts AREL conditions... so you can choose to use Squeel if you want, but not have to support it directly in this library.

from cancancan.

Sija avatar Sija commented on May 8, 2024

@bryanrite Fair enough. I like Squeel a lot, but baking in support for it was never a popular feature anyway.

from cancancan.

coorasse avatar coorasse commented on May 8, 2024

I do not completely agree. Looks like squeel is still supported, isn't it? And since I do not see many alternatives, I would like to switch to it. @legendetm why do you say that it has many issues?
I agree in dropping MetaWhere support, anyway.

from cancancan.

legendetm avatar legendetm commented on May 8, 2024

At the time when I wrote the comment, squeel had many bugs with ActiveRecord 4 for a long period. Now squeel has new maintainer who has fixed those problems.

from cancancan.

bryanrite avatar bryanrite commented on May 8, 2024

I don't think we need to support Squeel in Cancancan core, if a project has Squeel in it, they can specify Squeel conditions in scopes which can be used in the ability file. Building a DSL for Squeel in Cancancan, at least the core, doesn't feel right to me. I could start a cancancan-squeel project under CanCanCommunity if anyone wanted to tackle it that way?

from cancancan.

coorasse avatar coorasse commented on May 8, 2024

I agree with you @bryanrite. A cancancan-squeel project separated from the core looks like a good solution.

from cancancan.

hcarver avatar hcarver commented on May 8, 2024

Has anyone managed to get Cancancan working with Squeel on Rails 4.2? I've used this gist and have my ability tests working, but I'm getting a load of missing column & table errors when I load_and_authorize_resources in my controllers. So I suspect there's some change to Rails which means ControllerResource needs changing. Any ideas or guidance would be great. Thanks.

from cancancan.

bertBruynooghe avatar bertBruynooghe commented on May 8, 2024

Another option is to replace metawhere with ransack support, which has almost the same syntax.
Having an easy serializable format for more advanced rules is definitely important if you want to store rules in the database.

from cancancan.

Senjai avatar Senjai commented on May 8, 2024

Gone

from cancancan.

Related Issues (20)

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.