-
Notifications
You must be signed in to change notification settings - Fork 5
Licenses
kristianmandrup edited this page Apr 15, 2012
·
1 revision
Licenses can be used as Permit mixins, ie. Permit rules that are reused in multiple types of Permits.
Licenses have their own namespace folder license
inside the app/permits
folder. The default (scope less) licenses are placed directly in the license
folder.
- /app
- /permits
- /license
- blogging.rb
- /admin
- blogging.rb
Default :blogging License (scope less):
module License
class Blogging < CanTango::License
module Cache
def calc_rules
can [:create, :edit], Post
end
end
module NoCache
def calc_rules
can :publish, Post if session[:publishing] == :on
end
end
end
end
In the Blogging example, the module NoCache
is used to determine the rules that apply for the :no_cache
execution mode.
The :editor License applicable for the Admin scope. Typically the scope is linked to the account (but doesn't have to be).
module License::Admin
class Blogging < CanTango::License
def calc_rules
can :edit, Post
end
modes :all
end
end