Module: Guachiman::Permissible
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/guachiman/rails/permissible.rb
Instance Method Summary collapse
- #authorize ⇒ Object
- #current_permission ⇒ Object
- #current_resource ⇒ Object
- #current_user ⇒ Object
- #not_authorized ⇒ Object
- #not_signed_in ⇒ Object
- #render_unauthorized ⇒ Object
Instance Method Details
#authorize ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/guachiman/rails/permissible.rb', line 24 def if .allow? controller_name, action_name, current_resource .permit_params! params else if request.get? && !request.xhr? current_user ? : not_signed_in else end end end |
#current_permission ⇒ Object
16 17 18 |
# File 'lib/guachiman/rails/permissible.rb', line 16 def @current_permission ||= Permission.new current_user, request end |
#current_resource ⇒ Object
20 21 22 |
# File 'lib/guachiman/rails/permissible.rb', line 20 def current_resource nil end |
#current_user ⇒ Object
12 13 14 |
# File 'lib/guachiman/rails/permissible.rb', line 12 def current_user raise 'This method must be implemented' end |
#not_authorized ⇒ Object
36 37 38 |
# File 'lib/guachiman/rails/permissible.rb', line 36 def redirect_to root_path, alert: t('flashes.not_authorized') end |
#not_signed_in ⇒ Object
40 41 42 43 |
# File 'lib/guachiman/rails/permissible.rb', line 40 def not_signed_in session[:next] = request.url redirect_to sign_in_path, alert: t('flashes.please_sign_in') end |
#render_unauthorized ⇒ Object
45 46 47 |
# File 'lib/guachiman/rails/permissible.rb', line 45 def render text: "NO", status: :unauthorized end |