Class: Jabara::ParseCom::Schema::ACL
- Inherits:
-
Object
- Object
- Jabara::ParseCom::Schema::ACL
- Defined in:
- lib/jabara/parse_com/schema.rb
Instance Method Summary collapse
- #decode_acl_role_entry(role_name, acl_permission) ⇒ Object
- #decode_acl_user_entry(user_object_id, acl_permission) ⇒ Object
-
#initialize(user_acl_object_type:, role_acl_object_type:) ⇒ ACL
constructor
A new instance of ACL.
- #object_types ⇒ Object
- #parse(data) ⇒ Object
Constructor Details
#initialize(user_acl_object_type:, role_acl_object_type:) ⇒ ACL
Returns a new instance of ACL.
135 136 137 138 |
# File 'lib/jabara/parse_com/schema.rb', line 135 def initialize user_acl_object_type: , role_acl_object_type: @user_acl_object_type = user_acl_object_type @role_acl_object_type = role_acl_object_type end |
Instance Method Details
#decode_acl_role_entry(role_name, acl_permission) ⇒ Object
165 166 167 168 169 170 171 |
# File 'lib/jabara/parse_com/schema.rb', line 165 def decode_acl_role_entry(role_name, ) data = {} data['roleName'] = ::Jabara.primitive(:string, role_name) data['read'] = ::Jabara.primitive(:boolean, ['read'] || false) data['write'] = ::Jabara.primitive(:boolean, ['write'] || false) ::Jabara.object(@role_acl_object_type, data) end |
#decode_acl_user_entry(user_object_id, acl_permission) ⇒ Object
157 158 159 160 161 162 163 |
# File 'lib/jabara/parse_com/schema.rb', line 157 def decode_acl_user_entry(user_object_id, ) data = {} data['userObjectId'] = ::Jabara.primitive(:string, user_object_id) data['read'] = ::Jabara.primitive(:boolean, ['read'] || false) data['write'] = ::Jabara.primitive(:boolean, ['write'] || false) ::Jabara.object(@user_acl_object_type, data) end |
#object_types ⇒ Object
153 154 155 |
# File 'lib/jabara/parse_com/schema.rb', line 153 def object_types [@user_acl_object_type, @role_acl_object_type] end |
#parse(data) ⇒ Object
140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/jabara/parse_com/schema.rb', line 140 def parse(data) return ::Jabara.set([]) if data.nil? elems = ::Jabara::Transformer::KeyValue.new.to_entries(data).map {|entry| if entry[:key].start_with? 'role:' then decode_acl_role_entry(entry[:key].gsub(/role:/, ''), entry[:value]) else decode_acl_user_entry(entry[:key], entry[:value]) end } return ::Jabara.set(elems) end |