Class: Aerospike::Privilege
- Inherits:
-
Object
- Object
- Aerospike::Privilege
- Defined in:
- lib/aerospike/privilege.rb
Overview
Determines user access granularity.
Constant Summary collapse
- USER_ADMIN =
Manage users and their roles.
'user-admin'
- SYS_ADMIN =
Manage indicies, user-defined functions and server configuration.
'sys-admin'
- DATA_ADMIN =
Manage indicies and user defined functions.
'data-admin'
- UDF_ADMIN =
Manage user defined functions.
'udf-admin'
- SINDEX_ADMIN =
Manage indicies.
'sindex-admin'
- READ_WRITE_UDF =
Allow read, write and UDF transactions with the database.
"read-write-udf"
- READ_WRITE =
Allow read and write transactions with the database.
'read-write'
- READ =
Allow read transactions with the database.
'read'
- WRITE =
Write allows write transactions with the database.
'write'
- TRUNCATE =
Truncate allow issuing truncate commands.
'truncate'
Instance Attribute Summary collapse
-
#code ⇒ Object
Role.
-
#namespace ⇒ Object
Namespace determines namespace scope.
-
#set_name ⇒ Object
Set name scope.
Class Method Summary collapse
-
.from(code) ⇒ Object
def.
Instance Method Summary collapse
-
#can_scope? ⇒ Boolean
def.
-
#initialize(opt = {}) ⇒ Privilege
constructor
A new instance of Privilege.
- #to_code ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(opt = {}) ⇒ Privilege
Returns a new instance of Privilege.
63 64 65 66 67 |
# File 'lib/aerospike/privilege.rb', line 63 def initialize(opt={}) @code = opt[:code] @namespace = opt[:namespace] @set_name = opt[:set_name] end |
Instance Attribute Details
#code ⇒ Object
Role
23 24 25 |
# File 'lib/aerospike/privilege.rb', line 23 def code @code end |
#namespace ⇒ Object
Namespace determines namespace scope. Apply permission to this namespace only. If namespace is zero value, the privilege applies to all namespaces.
27 28 29 |
# File 'lib/aerospike/privilege.rb', line 27 def namespace @namespace end |
#set_name ⇒ Object
Set name scope. Apply permission to this set within namespace only. If set is zero value, the privilege applies to all sets within namespace.
31 32 33 |
# File 'lib/aerospike/privilege.rb', line 31 def set_name @set_name end |
Class Method Details
.from(code) ⇒ Object
def
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/aerospike/privilege.rb', line 100 def self.from(code) case code when 0 USER_ADMIN when 1 SYS_ADMIN when 2 DATA_ADMIN when 3 UDF_ADMIN when 4 SINDEX_ADMIN when 10 READ when 11 READ_WRITE when 12 READ_WRITE_UDF when 13 WRITE when 14 TRUNCATE else raise Exceptions::Aerospike.new(Aerospike::ResultCode::INVALID_PRIVILEGE, "Invalid code #{code}") end # case end |
Instance Method Details
#can_scope? ⇒ Boolean
def
127 128 129 |
# File 'lib/aerospike/privilege.rb', line 127 def can_scope? to_code >= 10 end |
#to_code ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/aerospike/privilege.rb', line 73 def to_code case @code when USER_ADMIN 0 when SYS_ADMIN 1 when DATA_ADMIN 2 when UDF_ADMIN 3 when SINDEX_ADMIN 4 when READ 10 when READ_WRITE 11 when READ_WRITE_UDF 12 when WRITE 13 when TRUNCATE 14 else raise Exceptions::Aerospike.new(Aerospike::ResultCode::INVALID_PRIVILEGE, "Invalid role #{@code}") end # case end |
#to_s ⇒ Object
69 70 71 |
# File 'lib/aerospike/privilege.rb', line 69 def to_s "code: #{@code}, namespace: #{@namespace}, set_name: #{@set_name}" end |