Module: ActiveLdap::Attributes::ClassMethods

Defined in:
lib/active_ldap/attributes.rb

Instance Method Summary collapse

Instance Method Details

#blank_value?(value) ⇒ Boolean

Returns:

  • (Boolean)
[View source]

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/active_ldap/attributes.rb', line 12

def blank_value?(value)
  case value
  when Hash
    value.values.all? {|val| blank_value?(val)}
  when Array
    value.all? {|val| blank_value?(val)}
  when String
    /\A\s*\z/ === value
  when true, false
    false
  when nil
    true
  else
    value.blank?
  end
end

#remove_blank_value(value) ⇒ Object

[View source]

29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/active_ldap/attributes.rb', line 29

def remove_blank_value(value)
  case value
  when Hash
    result = {}
    value.each do |k, v|
      v = remove_blank_value(v)
      next if v.nil?
      result[k] = v
    end
    result = nil if result.blank?
    result
  when Array
    result = []
    value.each do |v|
      v = remove_blank_value(v)
      next if v.nil?
      result << v
    end
    result = nil if result.blank?
    result
  when String
    if /\A\s*\z/ =~ value
      nil
    else
      value
    end
  else
    value
  end
end