# File lib/activeldap/associations.rb, line 138
    def has_many(association_id, options = {})
      klass = options[:class_name] || association_id.to_s
      key = options[:local_key]  || association_id.to_s + "_id"
      foreign_key = options[:foreign_key] || ''
      class_eval "def \#{association_id}(objects = nil)\nobjects = @@config[:return_objects] if objects.nil?\nforeign_key = \"\#{foreign_key}\"\nif foreign_key.empty?\nforeign_key = dnattr()\nend\nresults = []\nunless @data[\"\#{key}\"].nil?\n@data[\"\#{key}\"].each do |item|\nfkey = \"\"\nif foreign_key == \"dn\" and not item.empty?\nfkey = item.split(',')[0].split('=')[0]\nitem = item.split(',')[0].split('=')[1]\nend\n# This will even yield entries that don't necessarily exist\nif foreign_key != \"dn\"\nfkey = foreign_key\nend\n\#{klass}.find_all(:attribute => fkey, :value => item, :objects => objects).each do |match|\nresults << match\nend\nend\nend\nreturn results\nend\n"
    end