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.
- #parse(data) ⇒ Object
Constructor Details
#initialize(user_acl_object_type:, role_acl_object_type:) ⇒ ACL
Returns a new instance of ACL.
128 129 130 131 |
# File 'lib/jabara/parse_com/schema.rb', line 128 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
154 155 156 157 158 159 160 |
# File 'lib/jabara/parse_com/schema.rb', line 154 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
146 147 148 149 150 151 152 |
# File 'lib/jabara/parse_com/schema.rb', line 146 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 |
#parse(data) ⇒ Object
133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/jabara/parse_com/schema.rb', line 133 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 |