Sha256: a241f29f138e42287d6b12ea5eacc1eba56bd67a223b3ea8ce3ec489ad226b44
Contents?: true
Size: 970 Bytes
Versions: 130
Compression:
Stored size: 970 Bytes
Contents
# frozen_string_literal: true module Spree module PermissionSets # This is the base class used for crafting permission sets. # # This is used by {Spree::RoleConfiguration} when adding custom behavior to {Spree::Ability}. # See one of the subclasses for example structure such as {Spree::PermissionSets::UserDisplay} # # @see Spree::RoleConfiguration # @see Spree::PermissionSets class Base # @param ability [CanCan::Ability] # The ability that will be extended with the current permission set. # The ability passed in must respond to #user def initialize(ability) @ability = ability end # Activate permissions on the ability. Put your can and cannot statements here. # Must be overriden by subclasses def activate! raise NotImplementedError.new end private attr_reader :ability delegate :can, :cannot, :user, to: :ability end end end
Version data entries
130 entries across 130 versions & 2 rubygems