Class: Documentation::Authorizer

Inherits:
Object
  • Object
show all
Defined in:
lib/documentation/authorizer.rb

Instance Method Summary collapse

Constructor Details

#initialize(controller) ⇒ Authorizer

Returns a new instance of Authorizer.



4
5
6
# File 'lib/documentation/authorizer.rb', line 4

def initialize(controller)
  @controller = controller
end

Instance Method Details

#can_add_page?(page) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/documentation/authorizer.rb', line 12

def can_add_page?(page)
  true
end

#can_delete_page?(page) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/documentation/authorizer.rb', line 20

def can_delete_page?(page)
  true
end

#can_edit_page?(page) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/documentation/authorizer.rb', line 24

def can_edit_page?(page)
  true
end

#can_reposition_page?(page) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/documentation/authorizer.rb', line 16

def can_reposition_page?(page)
  true
end

#can_search?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/documentation/authorizer.rb', line 32

def can_search?
  true
end

#can_upload?(page) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/documentation/authorizer.rb', line 28

def can_upload?(page)
  true
end

#can_use_ui?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/documentation/authorizer.rb', line 36

def can_use_ui?
  true
end

#can_view_page?(page) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/documentation/authorizer.rb', line 8

def can_view_page?(page)
  true
end

#check!(action, object = :none) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/documentation/authorizer.rb', line 40

def check!(action, object = :none)
  action_method_name = "can_#{action}?"
  if self.respond_to?(action_method_name)
    result = object == :none ? self.send(action_method_name) : self.send(action_method_name, object)
    if result != true
      raise Documentation::AccessDeniedError, "You are not permitted to perform this action."
    end
  else
    raise Documentation::Error, "Invalid authorizer check (#{action})"
  end
end