| Module | Authorization::Maintenance |
| In: |
lib/declarative_authorization/maintenance.rb
|
Provides a few maintenance methods for modifying data without enforcing authorization.
# 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
# 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
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.
# 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
# File lib/declarative_authorization/maintenance.rb, line 18
18: def without_access_control (&block)
19: Authorization::Maintenance.without_access_control(&block)
20: end