Module: AccessPolicyRails::ControllerExtensions::ClassMethods
- Defined in:
- lib/access_policy_rails/controller_extensions.rb
Instance Method Summary collapse
- #authorized_action(action_name, &block) ⇒ Object
- #authorized_service(action_name, &block) ⇒ Object
- #guarded_action(action_name, authorize_action: true, &block) ⇒ Object
Instance Method Details
#authorized_action(action_name, &block) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/access_policy_rails/controller_extensions.rb', line 43 def (action_name, &block) action_name_guarded = "#{action_name}_with_guard".to_sym policy_guarded_method action_name_guarded, action_name ,&block define_method action_name do with_user_or_role(policy_check_user) do self.send(action_name_guarded) end end hide_action action_name_guarded hide_action unsafe_action_name(action_name_guarded) end |
#authorized_service(action_name, &block) ⇒ Object
57 58 59 60 61 62 63 64 65 |
# File 'lib/access_policy_rails/controller_extensions.rb', line 57 def (action_name, &block) define_method action_name do with_user_or_role(policy_check_user) do instance_exec &block end end end |
#guarded_action(action_name, authorize_action: true, &block) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/access_policy_rails/controller_extensions.rb', line 35 def guarded_action(action_name, authorize_action: true, &block) if (action_name, &block) else (action_name, &block) end end |