68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
# File 'lib/ad-framework/patterns/searchable.rb', line 68
def build_ad_search_args(args = {})
default_args = {
:objectclass__eq => self.schema.ldap_name,
:base => self.schema.treebase
}
(args || {}).inject(default_args) do |search_args, (key, value)|
case(key.to_sym)
when :where
if value.kind_of?(Array)
value = value.inject({}){|where, condition| where.merge(condition) }
end
search_args.merge(value)
when :limit
search_args.merge({ :size => value })
else
search_args.merge({ key => value })
end
end
end
|