Cornerstone

Utilisateur de Zsh, je traîne une configuration de cet irremplaçable shell depuis maintenant 10 ans. 10 ans de constantes évolutions qui me permettant d’utiliser la “ligne de commande” à une vitesse qui me donnerait presque envie d’encadrer mon .zshrc dans mon salon ;)

Pour tout ce qui concerne mes projets, j’utilise subversion et mon .zshrc fourmille de fonctions et autres alias qui me permettent de tagger, copier, commiter, merger… mes sources avec une amusante facilité…

Quoi qu’il en soit, un bon outil graphique est parfois fort agréable. Ainsi j’ai abandonné Vim pour Textmate, diff pour Changes, Linux pour MacOSX

Je n’avais rien trouvé de satisfaisant pour subversion, et bien Conerstone m’a convaincu. Non seulement ce client SVN est graphiquement excellent, mais en plus il est d’une simplicité déconcertante et c’est un véritable tout-en-un. Vous ne regretterez pas vous 69 USD.

je suis devenu contributeur Rails

Depuis maintenant 8 jours, j'ai eu la chance de voir un de mes patchs intégrés dans Rails. Ainsi depuis ce commit, je peux dire que j'ai contribuer à Rails \o/

Quelles nouvelles dans Rails Edge : Plus de File.join avec Rails.root

Si comme moi, vous avez besoin d'atteindre des dossier dans votre Rails.root. Un des nouveautés de Rails 2.3 intégrée dans ce commit, vous réduira le travail.

Rails.root('public', 'files', 'foo') == File.join(Rails.root, 'public', 'files', 'foo')

RubyConf 2008 : un résumé en vidéo

En attendant que les vidéos des conférences soient mises à disposition sur Confreaks, vous pouvez jeter un œil et une oreille à ce résumé de 31 minutes sur Rails Envy !

Huitième Apéro Ruby (spécial Paris on Rails 2008)

Bonjour,

L’association Ruby France, après la Rails Party de dimanche, organise un deuxième social event (notamment pour ceux qui ont raté le premier) autour de Paris on Rails, un Apéro Ruby en guise d’after_filter, lundi soir, à partir de 20h (vous pouvez arriver plus tard !), au Hall’s Beer (68, rue St-Denis, 75001 Paris. Métro Chatelet/les Halles. Google Maps Street View )

Veuillez s’il-vous-plaît vous inscrire en envoyant un mail à jftran [at] rubyfrance [point] org ou twitter @underflow_ pour que je puisse m’assurer du bon nombre de places à réserver. À bientôt !

Huitième Apéro Ruby (spécial Paris on Rails 2008)

Bonjour,

L’association Ruby France, après la Rails Party de dimanche, organise un deuxième social event (notamment pour ceux qui ont raté le premier) autour de Paris on Rails, un Apéro Ruby en guise d’after_filter, lundi soir, à partir de 20h (vous pouvez arriver plus tard !), au Hall’s Beer (68, rue St-Denis, 75001 Paris. Métro Chatelet/les Halles. Google Maps Street View )

Veuillez s’il-vous-plaît vous inscrire en envoyant un mail à jftran [at] rubyfrance [point] org ou twitter @underflow_ pour que je puisse m’assurer du bon nombre de places à réserver. À bientôt !

JRuby ?

Le 16 décembre…



… peut être y parlera-t-on de JRuby ?

AF83 sponsorise la Rails Party 2008

Logo Ruby France

read more

RSpec + Celerity avec JRuby

Je travaillais à la réalisation de tests pour un client et j’étais à la recherche de la solution ultime qui teste avec le support de Javascript, sans besoin d’un navigateur (avec Celerity) et avec RSpec.

On commence par récupérer JRuby Complete (c’est une version que j’ai faite à partir du trunk pour profiter d’une petite nouveauté). On crée un répertoire dans lequel on met notre jar que l’on va renommer jruby-complete.jar, puis on installe Celerity :

java -jar ./jruby-complete.jar -S gem install -i gems celerity --no-ri --no-rdoc

On va ajouter un fichier spec_helper.rb qui contiendra le code suivant :

require 'rubygems'

Gem.clear_paths
Gem.path.unshift(File.join(File.dirname(__FILE__), 'gems'))

gem 'rspec', '~> 1.1.11'
require 'spec'
gem 'celerity', '~> 0.0.4'
require 'celerity'

On charge RSpec (que JRuby Complete contient par défaut) et Celerity (en ajoutant le chemin vers le répertoire gems qui vient d’être créé) et enfin on peut faire ses tests. Voici un petit exemple qui teste si mon compte GitHub fonctionne correctement :

require File.dirname(__FILE__) + '/spec_helper'

describe "Login" do
  before do
    @browser = Celerity::Browser.new
    @browser.goto('https://github.com/login')
    @browser.text_field(:id, 'login_field').value = 'nmerouze'
    @browser.text_field(:id, 'password').value = '****'
    @browser.button(:value, 'Log in').click
  end

  it "should be successful" do
    @browser.title.should include('Your Dashboard')
  end
end

On lance les tests avec la commande suivante :

java -jar ./jruby-complete.jar login_spec.rb

Et on regarde si ça passe ! C’est simple, c’est clair, c’est sexy mais c’est lent. Je vous propose de télécharger le zip avec l’exemple pour essayer.

Le code est le même pour toutes les plateformes, les tests peuvent être effectués en imitant le comportement de Firefox ou de IE, on peut utiliser autotest pour les relancer au moindre changement… Peut-être pas l’outil ultime, mais ça s’en rapproche.

Fréquences des mises à jour de Merb

Voilà un petit message sur la ML que j’ai apprécié. Les mises à jour mineures de Merb vont avoir lieu souvent, très souvent.

Plus besoin d’être sur Edge comme Rails parce qu’on a une toute petite chose qu’on a vraiment besoin/envie d’avoir, on va avoir droit à des mises à jour toutes les semaines :) Moi qui était constamment sur Edge avec Rails, ça va me reposer l’esprit de savoir que tel ou tel gem/plugin ne va pas péter en cours d’évolution de Edge, puisqu’il n’y a plus besoin d’y être avec Merb.

C’est cool !