Module Authorization::Maintenance
In: lib/declarative_authorization/maintenance.rb

Provides a few maintenance methods for modifying data without enforcing authorization.

Methods

Classes and Modules

Module Authorization::Maintenance::Usage

Public Class methods

[Source]

    # File lib/declarative_authorization/maintenance.rb, line 43
43:     def self.with_user (user)
44:       prev_user = Authorization.current_user
45:       Authorization.current_user = user
46:       yield
47:     ensure
48:       Authorization.current_user = prev_user
49:     end

A class method variant of without_access_control. Thus, one can call

 Authorization::Maintenance::without_access_control do
   ...
 end

[Source]

    # File lib/declarative_authorization/maintenance.rb, line 26
26:     def self.without_access_control
27:       previous_state = Authorization.ignore_access_control
28:       begin
29:         Authorization.ignore_access_control(true)
30:         yield
31:       ensure
32:         Authorization.ignore_access_control(previous_state)
33:       end
34:     end

Public Instance methods

Sets the current user for the declarative authorization plugin to the given one for the execution of the supplied block. Suitable for tests on certain users.

[Source]

    # File lib/declarative_authorization/maintenance.rb, line 39
39:     def with_user (user, &block)
40:       Authorization::Maintenance.with_user(user, &block)
41:     end

Disables access control for the given block. Appropriate for maintenance operation at the Rails console or in test case setup.

For use in the Rails console:

 require "vendor/plugins/declarative_authorization/lib/maintenance"
 include Authorization::Maintenance

 without_access_control do
   SomeModel.find(:first).save
 end

[Source]

    # File lib/declarative_authorization/maintenance.rb, line 18
18:     def without_access_control (&block)
19:       Authorization::Maintenance.without_access_control(&block)
20:     end

[Validate]