Module: Card::Auth::Permissions
- Included in:
- Card::Auth
- Defined in:
- lib/card/auth/permissions.rb
Overview
singleton permission methods
Constant Summary collapse
- RECAPTCHA_DEFAULTS =
{ recaptcha_site_key: "6LdoqpgUAAAAAEdhJ4heI1h3XLlpXcDf0YubriCG", recaptcha_secret_key: "6LdoqpgUAAAAAP4Sz1L5PY6VKum_RFxq4-awj4BH" }.freeze
Instance Method Summary collapse
-
#admin?(user_id) ⇒ true/false
test whether user is an administrator.
- #always_cache ⇒ Object
-
#always_ok? ⇒ true/false
user has "root" permissions.
-
#always_ok_usr_id?(usr_id, force_cache_update = false) ⇒ true/false
specified user has root permission.
-
#createable_types ⇒ Array of strings
list of names of cardtype cards that current user has perms to create.
- #has_role?(user_id, role_id) ⇒ Boolean
- #update_always_cache(usr_id, value) ⇒ Object
Instance Method Details
#admin?(user_id) ⇒ true/false
test whether user is an administrator
65 66 67 |
# File 'lib/card/auth/permissions.rb', line 65 def admin? user_id has_role? user_id, Card::AdministratorID end |
#always_cache ⇒ Object
41 42 43 |
# File 'lib/card/auth/permissions.rb', line 41 def always_cache Card.cache.read("ALWAYS") || {} end |
#always_ok? ⇒ true/false
user has "root" permissions
12 13 14 15 16 17 |
# File 'lib/card/auth/permissions.rb', line 12 def always_ok? usr_id = as_id return false unless usr_id always_ok_usr_id? usr_id end |
#always_ok_usr_id?(usr_id, force_cache_update = false) ⇒ true/false
specified user has root permission
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/card/auth/permissions.rb', line 22 def always_ok_usr_id? usr_id, force_cache_update=false return true if usr_id == Card::WagnBotID # cannot disable always = always_cache if always[usr_id].nil? || force_cache_update update_always_cache usr_id, admin?(usr_id) else always[usr_id] end end |
#createable_types ⇒ Array of strings
list of names of cardtype cards that current user has perms to create
47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/card/auth/permissions.rb', line 47 def createable_types type_names = Auth.as_bot do Card.search( { type: Card::CardtypeID, return: :name, not: { codename: ["in"] + Card.config.non_createable_types } }, "find createable types" ) end type_names.select do |name| Card.new(type: name).ok? :create end.sort end |
#has_role?(user_id, role_id) ⇒ Boolean
69 70 71 |
# File 'lib/card/auth/permissions.rb', line 69 def has_role? user_id, role_id Card[user_id].all_enabled_roles.include? role_id end |