Recommend Me


Jeudi 11 juin 2009

Fin… et suite…

Voilà, le temps et venu. Je ferme définitivement ce blog pour me consacrer pleinement au suivant.

See you there.

• • •

Dimanche 8 mars 2009

Capcode sur Rubyforge

Classé dans : Capcode, Projets, Ruby — greg @ 14:19

Le projet Capcode, dont j’ai longuement parlé ici et vient de trouver sa place sur rubyforge.

Le gem de la version 0.1.0 est disponible, ainsi que la documentation.

• • •

Jeudi 12 février 2009

Anatomie et projets

Classé dans : Camping, Erlang, Mixr, NXT, Projets, Ruby, SOAP::LC, Shoes, TextMate, bivouac — greg @ 20:03

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…

• • •

Vendredi 30 janvier 2009

SOAP::LC 0.0.2

Classé dans : Projets, Ruby, SOAP::LC — greg @ 21:50

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.

• • •

Samedi 24 janvier 2009

SOAP::LC 0.0.1 (enfin !)

Classé dans : Projets, Ruby, SOAP::LC — greg @ 14:05

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 !

require ’soap/lc’

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

• • •

Jeudi 22 janvier 2009

Trier en tenant compte des accents…

Classé dans : Ruby — greg @ 21:31

Aujourd’hui, une personne demandait sur la mailling list Rails comment trier des chaînes de caractères contenant des accents.

En effet…

["az","aea","aéb"].sort
# => ["aea", "az", "aéb"]

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 :

["az","aea","aéb"].sort { |x, y| x.no_accent <=> y.no_accent }

Malheureusement, la méthode String.no_accent n’existe pas… Et bien, créons là :

class String
  def no_accent
    self.tr_s( ‘ÁÀÂÄÃÅÇÉÈÊËÍÏÎÌÑÓÒÔÖÕÚÙÛÜÝáàâäãåçéèêëíìîïñóòôöõúùûüýÿ’,
               ‘AAAAAACEEEEEIIIINOOOOOUUUUYaaaaaaceeeeiiiinooooouuuuyy’ )
  end
end

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 :

class String
  def no_accent
    require ‘rubygems’
    require ‘htmlentities’
   
    HTMLEntities.new.encode( self, :named ).gsub( /\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;/, \1 ).gsub( /\&([A-za-z]{2})(?:lig)\;/, \1 ).gsub( /\&[^;]+\;/, )
  end
end

["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 :

$KCODE = ‘u’
 
class String
  def no_accent
    require ‘rubygems’
    require ‘unicode’
 
    Unicode.normalize_KD(self).unpack(‘U*’).select{ |cp|
      cp < 0×0300 || cp > 0×036F
    }.pack(‘U*’)
  end
end
 
["az","aea","aéb"].sort { |x, y| x.no_accent <=> y.no_accent }
# => ["aea", "aéb", "az"]
• • •

Dimanche 11 janvier 2009

GemViz

Classé dans : Projets, Ruby — greg @ 17:38

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.

• • •

Mardi 16 décembre 2008

Utiliser before à la place de before_filter dans Bivouac

Classé dans : Camping, Projets, Ruby, bivouac — greg @ 12:16

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 :

module TestFilter::Controllers
  # …

  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 :

module TestFilter
  before :AdminHome do
    if @state[:user].blank?
      redirect R(Controllers::AdminLogin)
    end
  end
end  

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 !

• • •

Lundi 15 décembre 2008

Bivouac 0.4.0

Classé dans : Camping, Projets, Ruby, bivouac — greg @ 20:46

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 :

  • Support de Camping >= 1.9 ! A ce sujet je vous conseille d’installer la version de Magnus Holm.
  • Correction d’un bug dans options_for_javascript
  • Dans environment.rb, address a été remplacé par host
  • Camping n’ayant plus de dépendance avec markaby, cette dépendance a été ajoutée dans bivouac
  • Ajout de l’option :ieOnly à javascript_include_tag
  • postamble.rb est deprecated
  • script/plugin et la classe Bivouac::Plugin ont été modifiés afin de supporter la nouvelle tache Rakefile plugin:update
  • Le controller Not Found a été mis à jour
  • Remplacement de before_filter par la solution de Magnus Holm
  • Le générateur view fait un retour en force !
  • Ajout du générateur helper
  • Upgrade de Script.aculo.us en version 1.8.2
• • •

Vendredi 12 décembre 2008

Nab Has Shoes 0.3.1

Classé dans : Linux, Mac, Projets, Ruby, Shoes, Windows — greg @ 19:36

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 !

• • •
Page suivante »
Powered by: WordPress • Template adapted from the Simple Green' Wench theme - RSS