root/lib/cyborghood-librarian/interface/0_base.rb @ c2894ceb
849a61fb | Marc Dequènes (Duck) | node 'Records' do
|
|
3cdff641 | Marc Dequènes (Duck) | node ['Persons', 'DnsDomains'] do
|
|
object_list = Proc.new{|obj_name| bot.services.records.send(node_name.underscore, obj_name) }
|
|||
849a61fb | Marc Dequènes (Duck) | on_request do |request|
|
|
3cdff641 | Marc Dequènes (Duck) | request.reply.results = object_list.call
|
|
end
|
|||
node object_list do
|
|||
on_request do |request|
|
|||
prepare_value = Proc.new do |v|
|
|||
if v.is_a? Array
|
|||
v.collect!{|v2| prepare_value.call(v2) }
|
|||
elsif v.is_a? ActiveLdap::DistinguishedName
|
|||
v.to_s
|
|||
else
|
|||
v
|
|||
end
|
|||
end
|
|||
obj_attrs = object_list.call(node_name).attributes
|
|||
obj_attrs.delete('objectClass')
|
|||
obj_attrs.each do |k, v|
|
|||
obj_attrs[k] = prepare_value.call(v)
|
|||
end
|
|||
request.reply.results = obj_attrs
|
|||
end
|
|||
849a61fb | Marc Dequènes (Duck) | end
|
|
end
|
|||
end
|