# File lib/flickr/groups.rb, line 60
        def search(text,per_page=nil,page=nil)
                args = { 'text' => text }
                args['per_page'] = per_page if per_page
                args['page'] = page if page
                res = @flickr.call_method('flickr.groups.search',args)
                att = res.root.attributes
                list = Flickr::GroupList.new(att['page'].to_i,att['pages'].to_i,
                        att['perpage'].to_i,att['total'].to_i)
                res.elements['/groups'].each_element('group') do |e|
                        att = e.attributes
                        nsid = att['nsid']
                        g = @flickr.group_cache_lookup(nsid) ||
                                Flickr::Group.new(@flickr,nsid)
                        g.name = att['name']
                        g.eighteenplus = att['eighteenplus'].to_i == 1

                        @flickr.group_cache_store(g)
                        list << g
                end
                return list
        end