ruby

La pagination de Rails supprimée

Ca y est, la pagination dans Rails a été supprimée sur le trunk de Ruby On Rails. Maintenant cela ne sera qu'en plugin qu'on pourra trouver le système de pagination. Alors attention, il faut d'ores et déjà tenter d'utiliser les plugins dans ses applications Rails pour ainsi éviter d'avoir des problèmes de compatibilité avec les prochains version de Ruby On Rails, même la future version 1.2.4.

Published on Lun 11 juin 2007 12:29
0 commentaires

Compter avec Rails

Alors que je voulais tout simplement avoir le nombre de lignes dans une table, avec ActiveRecord, j'ai recherché dans la documentation la méthode qu'il me fallait. Mais hélas, je n'ai rien trouvé à part User.find(:all).count. Le problème de cette requête est que la requête exécuté par le SGBD était select * from user;, or ne voulant pas tous les résultats, cette requête était trop pour moi. C'est alors que j'ai tout simplement testé User.count dans la console Rails et qu'elle ne fut pas ma surprise de constater que ca me renvoyait tout simplement le nombre de ligne avec la requête que je désirais sur mon SGBD. Il y a pas à dire, Il faut parfois tout simplement testé en plus de regarder la doc. Tu as des chances pour que ca marche.

Published on Ven 08 juin 2007 08:23
0 commentaires

Ruby n'est pas buggé, c'est moi

Je poste la réponse que j'ai fini par avoir sur le billet parlant d'un hypothétique bug sur Ruby . En effet, j'ai posé la question sur la mailing list de Ruby-Talk et j'ai obtenu la réponse suivante :

En faite c'est moi qui ne connait pas très bien le protocole IpV6. En effet, mon ipv6 n'était pas bien formée. Elle ne comportait que 64 bits alors qu'une Ipv6 valide doit comporter 128 bits.

Merci aussi à banux pour m'avoir répondu sur mon billet et il avait lui aussi bien sûr la bonne réponse.

Published on Sam 26 mai 2007 09:40
0 commentaires

Sortie de Whois 0.4.0

Voilà après un mois de développement, je sors la version 0.4.0 de ma classe Whois

Changelog

  • Mise à jour de la liste des Server pour Ipv4 en concordance avec le programme de Marco d'Itri
  • Résolution d'un bug dans la génération de la liste Ipv4-6, Maintenant la recherche du bon serveur est fait à partir du plus grand Mask au plus faible
  • Ajout du support Ipv6 par IPAddr et String
  • Ajout de beaucoup de test unitaire sur la class Whois
  • Ajout d'un Coverage du Code (89%)
  • Pas de support de ToRedo (RFC 4773) et 6To4 (RFC 3056)
Published on Dim 29 avr 2007 20:47
0 commentaires

Ruby a-t-il un bug sur IPAddr ?

Je me pose une question toute bête depuis tout à l'heure et j'avoue ne pas comprendre. Mon interrogation se pose sur ce mini bout de code ruby :

require 'ipaddr'

IPAddr.new '2002:0000:1234:4561'

En effet ce code me léve une exception :

/usr/lib64/ruby/1.8/ipaddr.rb:422:in `initialize': invalid address (ArgumentError)

Mais voilà, l'adresse que je donne en paramètre est valide syntaxiquement en tant que Ipv6. Mes recherches mon amené à la conclusion suivante :

IPAddr considére mon IP comme une addresse invalide car elle n'a pas de résolution de nom. En effet la ligne toute simple qui me léve une exception est la ligne qui fait :

             
IPSocket.getaddress(prefix)

Dans mon cas prefix est '2002:0000:1234:4561', car jamais modifié au préalable (vérifié avec debuggueur). Effectivement les commandes suivante le prouve :

hello% host 2002:0000:1234:4561
Host 2002:0000:1234:4561 not found: 3(NXDOMAIN)

ou en irb :

hello% irb                  
irb(main):001:0> require 'socket'
=> true
irb(main):002:0> IPSocket.getaddress('2002:0000:1234:4561')
SocketError: getaddrinfo: Name or service not known
    from (irb):2:in `getaddress'
    from (irb):2

Hors, il n'est précisé nulle part qu'une IPAddr doit être "valide" pour être utilisé. De plus si on regarde un peu plus le code du fichier ipaddr.rb, nous constaterons qu'en tout premier il y a :

unless Socket.const_defined? "AF_INET6"

Mais voilà, maintenant les nouvelles versions de Ruby définissent cette variable. Ainsi, la surcharge de la méthode getaddress faites plus bas n'est jamais réalisée. Nous pouvons ainsi constater que dans cette nouvelle méthode surchargé, on voit :

                                             
return true if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*\Z/ =~ addr

ce qui rend ainsi notre Ipv6 précédente valide.

La question que je me pose est donc la suivante :

Est-ce un bug ou pas ?

Published on Jeu 26 avr 2007 21:00
0 commentaires

Premier Patch sur un projet libre

Certaine personnes qui me parle régulièrement savent que j'ai découvert il y a 2 semaines le projet Redmine

Cherchant un projet libre auquel contribuer, j'ai décidé de tenter ma chance avec celui là. Ainsi j'ai réalisé un patch pour avoir la visualisation des diff en cote à cote. Ce soir ce patch a été ajouté dans la branche de développement du projet sur la révision 390. J'en suis très heureux car avec ce patch, cela fait ma première contribution sur un autre projet libre qu'un des miens.

Published on Jeu 29 mars 2007 20:06
0 commentaires

Sortie de Whois 0.3.0

J'étais vraiment motivé sur ce projet alors voici une nouvelle version de Whois, la version 0.3.0

Changelog

  • Ajout de la possibilité de construire un objet Whois à partir de l'objet IPAddr (require 'ipaddr')
  • Ajout de l'information d'hôte quand une recherche whois est effectué avec une IPV4. Cette information est optionnel. Par défaut, elle est à false. Pour que l'host soit résolu, il faut que le second arguiment de Whois.new soit true.
  • Ajout de la possibilité de faire des requêtes whois à partir d'un host
Published on Mer 21 mars 2007 23:36
0 commentaires

Sortie de Whois 0.2.0

Ca y est, la version 0.2.0 de whois est sortie. Elle commence tout de suite par la version 0.2.0 pour laisser la version de Michael Neumann en version 0.1.0.

Pour l'instant on ne peux faire que de la requête en Ipv4, mais la demande par host et Ipv6 est prévue pour les sorties suivantes.

Published on Mar 20 mars 2007 13:03
0 commentaires

Pizza On Rails première à Lille

J'ai mis du temps pour le blogguer avec mon week-end plein de déplacement, mais je le fais maintenant.

Jeudi dernier (15 mars 2007), je suis allez à la première Pizza On Rails de Lille. Nous avons été 5. Le nombre était peut-être faible, mais l'intensité était là.

Pas mal de discussion, autour de l'intégration de Ruby On Rails dans les grandes entreprises et implicitement la différence Java/Ruby qui sans conteste était gagné par Ruby. Mais après nous n'étions peut-être pas forcement impartial.

En tout cas, j'ai passé une bonne soirée avec entre autres, Nicolas Delsaux et Nicolas Merouze, qui sont deux personnes très interressante. Il y avait ensuite Samuel Morello et Christophe Willaert.

Il y a pas à dire, je commence vraiment à devenir Lillois :)

Published on Dim 18 mars 2007 21:43
0 commentaires

RSS