Class: Spree::ProductReviewsAbility
- Inherits:
-
Object
- Object
- Spree::ProductReviewsAbility
- Includes:
- CanCan::Ability
- Defined in:
- app/models/spree/product_reviews_ability.rb
Instance Method Summary collapse
-
#initialize(user) ⇒ ProductReviewsAbility
constructor
A new instance of ProductReviewsAbility.
Constructor Details
#initialize(user) ⇒ ProductReviewsAbility
Returns a new instance of ProductReviewsAbility.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/models/spree/product_reviews_ability.rb', line 5 def initialize(user) user ||= Spree.user_class.new Rails.logger.info "[ProductReviewsAbility] user=#{user.inspect}, roles=#{user.spree_roles.map(&:name).inspect}" if user.has_spree_role? "admin" can :manage, Spree::ProductReview elsif user.persisted? can :create, Spree::ProductReview can :update, Spree::ProductReview do |review| review.user_id == user.id end can :destroy, Spree::ProductReview do |review| review.user_id == user.id end else can :read, Spree::ProductReview, approved: true cannot :create, Spree::ProductReview cannot %i[update destroy], Spree::ProductReview end end |