Sha256: f38d78d9e161786888a158b3859a9536631a6a7cb32c5e92fe39ecac47594049

Contents?: true

Size: 1015 Bytes

Versions: 9

Compression:

Stored size: 1015 Bytes

Contents

module Biovision
  module Base
    module PrivilegeMethods
      extend ActiveSupport::Concern

      included do
        helper_method :current_user_has_privilege?, :current_user_in_group?
      end

      # @param [Symbol] privilege_name
      def current_user_has_privilege?(privilege_name)
        ::UserPrivilege.user_has_privilege?(current_user, privilege_name)
      end

      # @param [Symbol] group_name
      def current_user_in_group?(group_name)
        ::UserPrivilege.user_in_group?(current_user, group_name)
      end

      protected

      # @param [Symbol] privilege_name
      def require_privilege(privilege_name)
        return if current_user_has_privilege?(privilege_name)
        handle_http_401("Current user has no privilege #{privilege_name}")
      end

      # @param [Symbol] group_name
      def require_privilege_group(group_name)
        return if current_user_in_group?(group_name)
        handle_http_401("Current user is not in group #{group_name}")
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
biovision-base-0.34.190331.1 lib/biovision/base/privilege_methods.rb
biovision-base-0.22.180920.0 lib/biovision/base/privilege_methods.rb
biovision-base-0.21.180812.0 lib/biovision/base/privilege_methods.rb
biovision-base-0.20.180731.0 lib/biovision/base/privilege_methods.rb
biovision-base-0.19.180703.1 lib/biovision/base/privilege_methods.rb
biovision-base-0.17.180619 lib/biovision/base/privilege_methods.rb
biovision-base-0.15.180502 lib/biovision/base/privilege_methods.rb
biovision-base-0.15.180415 lib/biovision/base/privilege_methods.rb
biovision-base-0.14.180326 lib/biovision/base/privilege_methods.rb