Module: Spree::Admin::PermissionChecks
- Included in:
- Actions::ActionBuilder, MainMenu::ItemBuilder, MainMenu::SectionBuilder, Tabs::TabBuilder
- Defined in:
- app/models/spree/admin/permission_checks.rb
Instance Method Summary collapse
- #with_admin_ability_check(*classes) ⇒ Object
- #with_availability_check(availability_check) ⇒ Object
- #with_create_ability_check(*classes) ⇒ Object
- #with_fire_ability_check ⇒ Object
- #with_index_ability_check(*classes) ⇒ Object
- #with_manage_ability_check(*classes) ⇒ Object
- #with_resend_ability_check ⇒ Object
- #with_state_change_check(event) ⇒ Object
- #with_update_ability_check ⇒ Object
Instance Method Details
#with_admin_ability_check(*classes) ⇒ Object
14 15 16 17 |
# File 'app/models/spree/admin/permission_checks.rb', line 14 def with_admin_ability_check(*classes) @availability_checks << ->(ability, _current) { classes.any? { |c| ability.can?(:admin, c) } } self end |
#with_availability_check(availability_check) ⇒ Object
4 5 6 7 |
# File 'app/models/spree/admin/permission_checks.rb', line 4 def with_availability_check(availability_check) @availability_checks << availability_check self end |
#with_create_ability_check(*classes) ⇒ Object
24 25 26 27 |
# File 'app/models/spree/admin/permission_checks.rb', line 24 def with_create_ability_check(*classes) @availability_checks << ->(ability, _current) { classes.any? { |c| ability.can?(:create, c) } } self end |
#with_fire_ability_check ⇒ Object
39 40 41 42 |
# File 'app/models/spree/admin/permission_checks.rb', line 39 def with_fire_ability_check @availability_checks << ->(ability, resource) { ability.can?(:fire, resource) } self end |
#with_index_ability_check(*classes) ⇒ Object
19 20 21 22 |
# File 'app/models/spree/admin/permission_checks.rb', line 19 def with_index_ability_check(*classes) @availability_checks << ->(ability, _current) { classes.any? { |c| ability.can?(:index, c) } } self end |
#with_manage_ability_check(*classes) ⇒ Object
9 10 11 12 |
# File 'app/models/spree/admin/permission_checks.rb', line 9 def with_manage_ability_check(*classes) @availability_checks << ->(ability, _current) { classes.any? { |c| ability.can?(:manage, c) } } self end |
#with_resend_ability_check ⇒ Object
34 35 36 37 |
# File 'app/models/spree/admin/permission_checks.rb', line 34 def with_resend_ability_check @availability_checks << ->(ability, resource) { ability.can?(:resend, resource) } self end |
#with_state_change_check(event) ⇒ Object
44 45 46 47 |
# File 'app/models/spree/admin/permission_checks.rb', line 44 def with_state_change_check(event) @availability_checks << ->(_ability, resource) { resource.send("can_#{event}?") } self end |
#with_update_ability_check ⇒ Object
29 30 31 32 |
# File 'app/models/spree/admin/permission_checks.rb', line 29 def with_update_ability_check @availability_checks << ->(ability, resource) { ability.can?(:update, resource) } self end |