| 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