Fin… et suite…
Voilà, le temps et venu. Je ferme définitivement ce blog pour me consacrer pleinement au suivant.
See you there.
![]() |
begin require "greg.rubyfr.net" rescue MacOSX, PostgreSQL, Ruby => e RubyFR.read( "[Why not]" ) end |
L | Ma | Me | J | V | S | D |
---|---|---|---|---|---|---|
« juin | ||||||
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Voilà, le temps et venu. Je ferme définitivement ce blog pour me consacrer pleinement au suivant.
See you there.
Le projet Capcode, dont j’ai longuement parlé ici et là vient de trouver sa place sur rubyforge.
Le gem de la version 0.1.0 est disponible, ainsi que la documentation.
Voici une des parties les plus intimes de mon anatomie :
Si je vous montre cela, c’est pour vous prouver que mon activité cérébrale se porte bien avant de vous annoncer qu’il est temps pour moi de mettre fin à certains de mes projets.
En effet, aujourd’hui je maintiens, plus ou moins activement, 9 projets différents :
Certains de ces projets ont trouvé un public, d’autre pas, bref, la vie normale. Quoi qu’il en soit, c’est plus une question de temps, mais je ne peux plus m’en occuper avec la même passion qui m’animait au début de chacun de ces développements. Je vais donc mettre fin à certains pour me concentrer sur d’autres.
Le plus difficile à été de décider d’arrêter Bivouac. En effet, ce projet m’a énormément appris, et bien qu’il ait même permis la mise en production de quelques réalisations qui ont aujourd’hui un large public, il y a un moment ou il faut être franc avec soi même et revenir à ses premières amours !
Mes regrets seront moins forts, mais Ruby/XPath et Ruby/Ivy vont aussi être délaissés.
Les autres continueront à évoluer, mais à des vitesses très différentes.
Ruby/XSLT et Ruby/GraphViz ne devraient évoluer qu’au rythme des demandes de corrections et des patchs que l’on m’envoie.
NabHasShoes et un pur amusement et ce sont mes enfants qui commanderont son évolution.
NXC Mate évoluera en fonction des demandes, mais surtout du temps que je passe à me détendre
mixr et SOAP::LC seront les deux grands gagnants et je vais y consacrer une bonne partie de mon temps libre.
Et le reste ? Parce qu’il y a un reste. Et bien il va arriver. Je ne peux pas en dire grand-chose pour le moment, car j’ai un travail et 6 enfants qui m’occupent la plus grande partie de mon temps. Mais si j’arrête certains projets, c’est parce que je me concentre sur de nouvelles choses avec la ferme intention d’en faire faire profiter ceux qui y trouveront un intérêt…
Je viens de mettre à disposition la version 0.0.2 de SOAP::LC
Au programme, la réorganisation des sources avec un découpage du parseur XSD (entre autres) et un meilleur formatage de la réponse prenant en compte les types. J’ai également ajouté la possibilité de passer directement une enveloppe SOAP au format XML.
Je vais refondre le parseur XSD (ma bête noire) de façon a supprimer cet horrible enchevêtrement de Hash et Array et utiliser une vraie structure d’arbre.
Cela fait plus d’un an que je l’avais promis, voici enfin la première release 0.0.1 de SOAP::LC
Ne nous emballons pas. C’est “fonctionnel”, mais il reste encore pas mal de travail. Tout d’abord au niveau de la gestion des schémas XML. J’ai totalement réécrit mon parseur XSD et il y a encore pas mal de trous. Ensuite, le traitement de la réponse est minimaliste puisque pour le moment je vous propose seulement de récupérer le contenu XML ou sa transformation (grâce à ActiveSupport) en Hash.
Mais bon, cela arrive !
wsdl = "http://localhost:3000/simple/wsdl"
s = SOAP::LC.new( ).wsdl( wsdl ).call( "HelloWorld", { :from => "Greg" } )
r = s.result
puts r.to_h
# Or
r = SOAP::LC["http://localhost:3000/simple/wsdl"].HelloWorld( :from => "greg" ).result
Aujourd’hui, une personne demandait sur la mailling list Rails comment trier des chaînes de caractères contenant des accents.
En effet…
La solution (la plus simple ?) consiste à remplacer les lettres accentuées par leur équivalent sans accent et à faire le tri sur les chaînes ainsi transformées. Pour cela nous utiliserons le fait que la méthode String.sort peut prendre en paramètre un bloc permettant de préciser la méthode de comparaison entre deux éléments. Donc; imaginons que nous ayons une méthode String.no_accent, nous pouvons donc faire cela :
Malheureusement, la méthode String.no_accent n’existe pas… Et bien, créons là :
puts ["az","aea","aéb"].sort { |x, y| x.no_accent <=> y.no_accent }
# => ["aea", "aéb", "az"]
Une autre solution consiste à passer par les entités html :
["az","aea","aéb"].sort { |x, y| x.no_accent <=> y.no_accent }
# => ["aea", "aéb", "az"]
Et enfin il y a la solution qui utilise unicode :
David Rupp vient d’annoncer, sur son blog, la mise à disposition de gemviz ce petit gem permet de créer le graph des dépendances d’un gem. Pour cela il utilise ruby-graphviz.
Dans un article précédent, je vous avais montré comment utiliser before_filter dans Bivouac. before_filter ayant été remplacé, dans la dernière version de Bivouac, par la solution proposée par Magnus Holm, voici comment modifier cet exemple pour qu’il fonctionne en version 0.4.0.
La seule modification concerne le controller. En effet, vous pouvez supprimer tout ce qui à trait à la gestion du filtre, soit la classe AdminCheckLogin et l’appel à before_filter :
class AdminCheckLogin
def self.filter( state )
if state[:user].blank?
return AdminLogin
else
return nil
end
end
end
end
before_filter AdminCheckLogin, :only => [AdminHome]
A la place de tout cela, vous devez ajouter, ou vous voulez, le code suivant dans votre projet :
Comme vous pouvez le voir, l’appel à before se fait dans le module TestFilter et non dans le controller directement. Il faut donc faire attention lorsque vous faire la redirection !
La version 0.4.0 de Bivouac vient d’être mise en ligne.
Rappelons, pour les nouveaux, que Bivouac est un générateur “rails like” pour Camping.
Au programme de cette nouvelle version :
Pour fêter la sortie de Nab Has Shoes 0.3.1, je viens d’ouvrir le projet sur rubyforge qui vient donc compléter la page sur The ShoeBox.
Have fun !