Class: Storytime::MembershipPolicy
- Inherits:
-
Object
- Object
- Storytime::MembershipPolicy
- Defined in:
- app/policies/storytime/membership_policy.rb
Instance Attribute Summary collapse
-
#record ⇒ Object
readonly
Returns the value of attribute record.
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Instance Method Summary collapse
- #create? ⇒ Boolean
- #destroy? ⇒ Boolean
- #edit? ⇒ Boolean
- #index? ⇒ Boolean
-
#initialize(current_user, record) ⇒ MembershipPolicy
constructor
A new instance of MembershipPolicy.
- #manage? ⇒ Boolean
- #new? ⇒ Boolean
- #permitted_attributes ⇒ Object
- #update? ⇒ Boolean
Constructor Details
#initialize(current_user, record) ⇒ MembershipPolicy
Returns a new instance of MembershipPolicy.
5 6 7 8 |
# File 'app/policies/storytime/membership_policy.rb', line 5 def initialize(current_user, record) @current_user = current_user @membership = record end |
Instance Attribute Details
#record ⇒ Object (readonly)
Returns the value of attribute record.
3 4 5 |
# File 'app/policies/storytime/membership_policy.rb', line 3 def record @record end |
#user ⇒ Object (readonly)
Returns the value of attribute user.
3 4 5 |
# File 'app/policies/storytime/membership_policy.rb', line 3 def user @user end |
Instance Method Details
#create? ⇒ Boolean
24 25 26 |
# File 'app/policies/storytime/membership_policy.rb', line 24 def create? manage? end |
#destroy? ⇒ Boolean
36 37 38 |
# File 'app/policies/storytime/membership_policy.rb', line 36 def destroy? manage? end |
#edit? ⇒ Boolean
28 29 30 |
# File 'app/policies/storytime/membership_policy.rb', line 28 def edit? manage? end |
#index? ⇒ Boolean
16 17 18 |
# File 'app/policies/storytime/membership_policy.rb', line 16 def index? manage? end |
#manage? ⇒ Boolean
10 11 12 13 14 |
# File 'app/policies/storytime/membership_policy.rb', line 10 def manage? action = Storytime::Action.find_by(guid: "1f7d47") role = @current_user.storytime_role_in_site(Storytime::Site.current) role.present? && role.allowed_actions.include?(action) end |
#new? ⇒ Boolean
20 21 22 |
# File 'app/policies/storytime/membership_policy.rb', line 20 def new? manage? end |
#permitted_attributes ⇒ Object
40 41 42 |
# File 'app/policies/storytime/membership_policy.rb', line 40 def permitted_attributes [:id, :user_id, :storytime_role_id, user_attributes: [:storytime_name, :email]] end |
#update? ⇒ Boolean
32 33 34 |
# File 'app/policies/storytime/membership_policy.rb', line 32 def update? manage? end |