From 0b6dfcb7b3717d3b83398c68d2c08c9207205881 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 2 Dec 2013 13:19:30 +0000 Subject: [PATCH] refactor(cloudfunc) getNumericPermissions --- lib/cloudfunc.js | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/lib/cloudfunc.js b/lib/cloudfunc.js index f82b649a..a5ed37c6 100644 --- a/lib/cloudfunc.js +++ b/lib/cloudfunc.js @@ -184,22 +184,28 @@ var Util; * в цыфровой */ this.getNumericPermissions = function(pPerm_s) { - if(!pPerm_s || pPerm_s.length!==11)return pPerm_s; + var owner, group, all, + perms = pPerm_s, + length = perms && perms.length === 11; - var lOwner= (pPerm_s[0] === 'r' ? 4 : 0) + - (pPerm_s[1] === 'w' ? 2 : 0) + - (pPerm_s[2] === 'x' ? 1 : 0), + if (length) { + owner = (pPerm_s[0] === 'r' ? 4 : 0) + + (pPerm_s[1] === 'w' ? 2 : 0) + + (pPerm_s[2] === 'x' ? 1 : 0), + + group = (pPerm_s[4] === 'r' ? 4 : 0) + + (pPerm_s[5] === 'w' ? 2 : 0) + + (pPerm_s[6] === 'x' ? 1 : 0), - lGroup= (pPerm_s[4] === 'r' ? 4 : 0) + - (pPerm_s[5] === 'w' ? 2 : 0) + - (pPerm_s[6] === 'x' ? 1 : 0), - - lAll = (pPerm_s[8] === 'r' ? 4 : 0) + - (pPerm_s[9] === 'w' ? 2 : 0) + - (pPerm_s[10] === 'x' ? 1 : 0); + all = (pPerm_s[8] === 'r' ? 4 : 0) + + (pPerm_s[9] === 'w' ? 2 : 0) + + (pPerm_s[10] === 'x' ? 1 : 0); + + /* добавляем 2 цыфры до 5 */ + perms = '00' + owner + group + all; + } - /* добавляем 2 цыфры до 5 */ - return '00' + lOwner + lGroup + lAll; + return perms; }; /** Функция получает короткие размеры