class Object
Public Instance Methods
conjugateFR(query, renderer)
click to toggle source
Conjugates French Verbs @param query [Array] The query list. Can be null, in which presets are used. @param renderer [Renderer] The Renderer
to use.
# File lib/conjugatefr.rb, line 8 def conjugateFR (query, renderer) # cpwords - Copy/Pasted words list from the website. cpwords = "accroître acheter acquérir acquiescer alléger aller apercevoir appeler apprendre arguer arrêter asseoir astreindre avoir battre boire bouillir briller céder changer chanter circoncire commencer compléter conclure conduire confire confondre connaître construire coudre courir craindre créer croire croître cueillir défaillir déléguer dépecer devoir dire disséquer dissoudre distinguer distraire dormir écrire employer ennuyer enseigner entendre envoyer espérer essayer essuyer être faire falloir finir fuir geler grasseyer interdire interpeller jeter joindre lancer lever lire louer luire manger marquer maudire mener mentir mettre mordre moudre mouiller mourir mouvoir naître naviguer nettoyer nuire offrir oublier ouvrir pallier paraître partir payer peindre peler perdre peser plaire pleuvoir pourvoir pouvoir prendre prévoir prier promouvoir rapiécer recevoir régner remuer répandre répondre résoudre réveiller rire rompre savoir semer sentir servir signer sortir souffrir suffire suivre surseoir taire tenir tomber tordre traire travailler tressaillir vaincre valoir vendre venir vêtir vivre voir vouloir" # Generate word arrays from above list. words = cpwords.gsub(/[ \t\n]+/, " ").split " " # Fall back to presets toqry = if query.empty? words else query end # Filter out all of the accented words. toqry_filtered = toqry.map { |word| word.gsub(/[êé]/, "e").gsub /î/, "i" } # Render pre-word content. renderer.pre # Query each word. toqry_filtered.each_with_index do |word, index| open "http://conjf.cactus2000.de/showverb.en.php?verb=#{word}" do |page| # Split the conjugations into an array. doc = Nokogiri::HTML page arr = doc.css("td [width='50%']").css("div").to_s.gsub(/.*?<div>/im, "").split("<br>") arr.pop # Render this word. renderer.word toqry[index], arr end end # Render post-word content. renderer.post end