An error occurred fetching the project authors.
  1. 01 Aug, 2018 1 commit
  2. 04 May, 2018 2 commits
  3. 10 Apr, 2018 2 commits
  4. 22 Feb, 2018 2 commits
  5. 01 Aug, 2017 2 commits
  6. 30 Jun, 2017 1 commit
  7. 29 Jun, 2017 1 commit
  8. 28 Jun, 2017 2 commits
  9. 27 Jun, 2017 2 commits
  10. 09 Mar, 2017 1 commit
  11. 25 Jan, 2017 1 commit
  12. 18 Jan, 2017 1 commit
  13. 14 Dec, 2016 1 commit
  14. 13 Dec, 2016 1 commit
  15. 12 Dec, 2016 1 commit
  16. 08 Dec, 2016 1 commit
  17. 01 Sep, 2016 1 commit
    • Robert Speicher's avatar
      Merge branch 'refactor/add-policies' into 'master' · a7657098
      Robert Speicher authored
      Refactor ability.rb into Policies
      
      Factors out `ability.rb` into a new abstraction - the "policy" (stored in `app/policies`). A policy is a class named `#{class_name}Policy` (looked up automatically as needed) that implements `rules` as follows:
      
      ``` ruby
      class ThingPolicy < BasePolicy
        def rules
          @user # this is a user to determine abilities for, optionally nil in the anonymous case
          @subject # this is the subject of the ability, guaranteed to be an instance of `Thing`
          can! :some_ability # grant the :some_ability permission
          cannot! :some_ability # ensure that :some_ability is not allowed. this overrides any `can!` that is called before or after
          delegate! @subject.other_thing # merge the abilities (can!) and prohibitions (cannot!) from `@subject.other_thing`
          can? :some_ability # test whether, so far, :some_ability is allowed
        end
      
        def anonymous_rules
          # optional. if not implemented `rules` is called where `@user` is nil. otherwise this method is called when `@user` is nil.
        end
      end
      ```
      
      See merge request !5796
      a7657098
  18. 30 Aug, 2016 17 commits