Module | ActiveLdap::Ldif::Attribute |
In: |
lib/active_ldap/ldif.rb
|
SIZE | = | 75 |
# File lib/active_ldap/ldif.rb, line 34 34: def encode(name, value) 35: return "#{name}:\n" if value.blank? 36: result = "#{name}:" 37: 38: if value[-1, 1] == ' ' or /\A#{Parser::SAFE_STRING}\z/u !~ value 39: result << ":" 40: value = [value].pack("m").gsub(/\n/u, '') 41: end 42: result << " " 43: 44: first_line_value_size = SIZE - result.size 45: if value.size > first_line_value_size 46: first_line_value = value[0, first_line_value_size] 47: rest_value = value[first_line_value_size..-1] 48: else 49: first_line_value = value 50: rest_value = nil 51: end 52: 53: result << "#{first_line_value}\n" 54: return result if rest_value.nil? 55: 56: rest_value.scan(/.{1,#{SIZE - 1}}/u).each do |line| 57: result << " #{line}\n" 58: end 59: result 60: end
# File lib/active_ldap/ldif.rb, line 62 62: def normalize_value(value, result=[]) 63: case value 64: when Array 65: value.each {|val| normalize_value(val, result)} 66: when Hash 67: value.each do |option, val| 68: normalize_value(val).each do |options, v| 69: result << [[option] + options, v] 70: end 71: end 72: result 73: else 74: result << [[], value] 75: end 76: result 77: end