Module: Subroutine::Auth

Defined in:
lib/subroutine/auth.rb

Defined Under Namespace

Modules: ClassMethods Classes: AuthorizationNotDeclaredError, NotAuthorizedError

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/subroutine/auth.rb', line 24

def self.included(base)
  base.instance_eval do
    extend ::Subroutine::Auth::ClassMethods

    class_attribute :authorization_declared
    self.authorization_declared = false
  end
end

Instance Method Details

#current_userObject



113
114
115
116
# File 'lib/subroutine/auth.rb', line 113

def current_user
  @current_user = ::User.find(@current_user) if ::Integer === @current_user
  @current_user
end

#initialize(*args) ⇒ Object



96
97
98
99
100
101
102
# File 'lib/subroutine/auth.rb', line 96

def initialize(*args)
  raise Subroutine::Auth::AuthorizationNotDeclaredError.new if(!self.class.authorization_declared)

  super(args.extract_options!)
  @skip_auth_checks = false
  @current_user = args.shift
end

#skip_auth_checks!Object



104
105
106
107
# File 'lib/subroutine/auth.rb', line 104

def skip_auth_checks!
  @skip_auth_checks = true
  self
end

#skip_auth_checks?Boolean

Returns:

  • (Boolean)


109
110
111
# File 'lib/subroutine/auth.rb', line 109

def skip_auth_checks?
  !!@skip_auth_checks
end

#unauthorized!(reason = nil) ⇒ Object



118
119
120
121
# File 'lib/subroutine/auth.rb', line 118

def unauthorized!(reason = nil)
  reason ||= :unauthorized
  raise ::Subroutine::Auth::NotAuthorizedError.new(reason)
end