# module ActiveLdap::Attributes::ClassMethods

### Public Instance Methods

blank_value?(value) click to toggle source

    # 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) click to toggle source

    # 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