def query(params, base_return = [])
      params[:action] = 'query'
      params[:continue] = ''

      loop do
        result = post(params)
        yield(base_return, result['query']) if result.key?('query')
        break unless @use_continuation
        break unless result.key?('continue')
        continue = result['continue']
        continue.each do |key, val|
          params[key.to_sym] = val
        end
      end

      base_return
    end
def query(params, base_return = [])
      params[:action] = 'query'
      params[:continue] = ''

      loop do
        result = post(params)
        yield(base_return, result['query']) if result.key?('query')
        break unless @use_continuation
        break unless result.key?('continue')
        continue = result['continue']
        continue.each do |key, val|
          params[key.to_sym] = val
        end
      end

      base_return
    end
Performs a Mediawiki API query and provides the response, dealing with continuation as necessary.
 @param params [Hash] A hash containing MediaWiki API parameters.
 @param base_return [Any] The return value to start with. Defaults to an empty array.
 @yield [base_return, query] Provides the value provided to the base_return parameter, and the value in the
   'query' key in the API response. See the API documentation for more information on this. If the base_return
   value is modified in the block, its modifications will persist across each continuation loop.
 @return [Any] The base_return value as modified by the yielded block.