adding ability generator - closes #170
This commit is contained in:
parent
37c149182c
commit
9b8e84944c
4
lib/generators/cancan/ability/USAGE
Normal file
4
lib/generators/cancan/ability/USAGE
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Description:
|
||||||
|
The cancan:ability generator creates an Ability class in the models
|
||||||
|
directory. You can move this file anywhere you want as long as it
|
||||||
|
is in the load path.
|
11
lib/generators/cancan/ability/ability_generator.rb
Normal file
11
lib/generators/cancan/ability/ability_generator.rb
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
module Cancan
|
||||||
|
module Generators
|
||||||
|
class AbilityGenerator < Rails::Generators::Base
|
||||||
|
source_root File.expand_path('../templates', __FILE__)
|
||||||
|
|
||||||
|
def generate_ability
|
||||||
|
copy_file "ability.rb", "app/models/ability.rb"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
28
lib/generators/cancan/ability/templates/ability.rb
Normal file
28
lib/generators/cancan/ability/templates/ability.rb
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
class Ability
|
||||||
|
include CanCan::Ability
|
||||||
|
|
||||||
|
def initialize(user)
|
||||||
|
# Define abilities for the passed in user here. For example:
|
||||||
|
#
|
||||||
|
# user ||= User.new # guest user (not logged in)
|
||||||
|
# if user.admin?
|
||||||
|
# can :manage, :all
|
||||||
|
# else
|
||||||
|
# can :read, :all
|
||||||
|
# end
|
||||||
|
#
|
||||||
|
# The first argument to `can` is the action you are giving the user permission to do.
|
||||||
|
# If you pass :manage it will apply to every action. Other common actions here are
|
||||||
|
# :read, :create, :update and :destroy.
|
||||||
|
#
|
||||||
|
# The second argument is the resource the user can perform the action on. If you pass
|
||||||
|
# :all it will apply to every resource. Otherwise pass a Ruby class of the resource.
|
||||||
|
#
|
||||||
|
# The third argument is an optional hash of conditions to further filter the objects.
|
||||||
|
# For example, here the user can only update published articles.
|
||||||
|
#
|
||||||
|
# can :update, Article, :published => true
|
||||||
|
#
|
||||||
|
# See the wiki for details: https://github.com/ryanb/cancan/wiki/Defining-Abilities
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user