module Grant::Status

Public Class Methods

disable_grant() click to toggle source

Getters/Setters

# File lib/grant/status.rb, line 76
def disable_grant
  self.is_grant_disabled = true
end
do_as(user) { || ... } click to toggle source
# File lib/grant/status.rb, line 110
def do_as(user)
  previous_user = Grant::User.current_user

  begin
    Grant::User.current_user = user
    result = yield if block_given?
  ensure
    Grant::User.current_user = previous_user
  end

  result
end
enable_grant() click to toggle source
# File lib/grant/status.rb, line 80
def enable_grant
  self.is_grant_disabled = false
end
grant_disabled?() click to toggle source

Status

# File lib/grant/status.rb, line 65
def grant_disabled?
  is_grant_disabled == true
end
grant_enabled?() click to toggle source
# File lib/grant/status.rb, line 69
def grant_enabled?
  ! grant_disabled?
end
switch_to_monothread() click to toggle source
# File lib/grant/status.rb, line 58
def switch_to_monothread
  Grant::Status.send :include, MonoThread
end
switch_to_multithread() click to toggle source

Change to global status (use ONLY in test env)

# File lib/grant/status.rb, line 55
def switch_to_multithread
  Grant::Status.send :include, MultiThread
end
with_grant() { || ... } click to toggle source
# File lib/grant/status.rb, line 97
def with_grant
  previously_disabled = grant_disabled?

  begin
    enable_grant
    result = yield if block_given?
  ensure
    disable_grant if previously_disabled
  end

  result
end
without_grant() { || ... } click to toggle source
# File lib/grant/status.rb, line 84
def without_grant
  previously_disabled = grant_disabled?

  begin
    disable_grant
    result = yield if block_given?
  ensure
    enable_grant unless previously_disabled
  end

  result
end

Private Instance Methods

disable_grant() click to toggle source

Getters/Setters

# File lib/grant/status.rb, line 76
def disable_grant
  self.is_grant_disabled = true
end
do_as(user) { || ... } click to toggle source
# File lib/grant/status.rb, line 110
def do_as(user)
  previous_user = Grant::User.current_user

  begin
    Grant::User.current_user = user
    result = yield if block_given?
  ensure
    Grant::User.current_user = previous_user
  end

  result
end
enable_grant() click to toggle source
# File lib/grant/status.rb, line 80
def enable_grant
  self.is_grant_disabled = false
end
grant_disabled?() click to toggle source

Status

# File lib/grant/status.rb, line 65
def grant_disabled?
  is_grant_disabled == true
end
grant_enabled?() click to toggle source
# File lib/grant/status.rb, line 69
def grant_enabled?
  ! grant_disabled?
end
switch_to_monothread() click to toggle source
# File lib/grant/status.rb, line 58
def switch_to_monothread
  Grant::Status.send :include, MonoThread
end
switch_to_multithread() click to toggle source

Change to global status (use ONLY in test env)

# File lib/grant/status.rb, line 55
def switch_to_multithread
  Grant::Status.send :include, MultiThread
end
with_grant() { || ... } click to toggle source
# File lib/grant/status.rb, line 97
def with_grant
  previously_disabled = grant_disabled?

  begin
    enable_grant
    result = yield if block_given?
  ensure
    disable_grant if previously_disabled
  end

  result
end
without_grant() { || ... } click to toggle source
# File lib/grant/status.rb, line 84
def without_grant
  previously_disabled = grant_disabled?

  begin
    disable_grant
    result = yield if block_given?
  ensure
    enable_grant unless previously_disabled
  end

  result
end