Pro Git
Pro Git Por ejemplo, si tienes un par de administradores, algunos redactores técnicos con acceso a la carpeta doc, y un desarrollador que únicamente accede a las carpetas lib y tests, el archivo ACL resultante serÃa:
avail|nickh,pjhyett,defunkt,tpw avail|usinclair,cdickens,ebronte|doc avail|schacon|lib avail|schacon|testsPara implementarlo, hemos de leer previamente estos datos en una estructura que podamos emplear. En este caso, por razones de simplicidad, vamos a mostrar únicamente la forma de implementar las directivas avail (permitir). Este es un método que te devuelve un array asociativo cuya clave es el nombre del usuario y su valor es un array de ubicaciones (paths) donde ese usuario tiene acceso de escritura:
def get_acl_access_data(acl_file) # read in ACL data acl_file = File.read(acl_file).split("\n").reject { |line| line == '' } access = {} acl_file.each do |line| avail, users, path = line.split('|') next unless avail == 'avail' users.split(',').each do |user| access[user] ||= [] access[user] << path end end access endSi lo aplicamos sobre la lista ACL descrita anteriormente, este método get_acl_access_data devolverá una estructura de datos similar a esta: