En cours de développement, vos modifications de feuilles de style n’apparaissent pas sur le site ? C’est normal ! La structure de l’application est complexe. Si vous respectez l’architecture recommandée (version 0.11), vos feuilles de styles sont dans vendor/extensions/theme_xxxx/public/stylesheets/ (si votre thème s’appelle xxxx). Le serveur web n’est pas configuré pour aller chercher les assets [...]
Category Archives: Ruby on Rails
Gérer plusieurs versions de Ruby sur Leopard
Un jour ou l’autre vous allez avoir besoin d’une gem qui exige une version plus récente de Ruby. Par exemple sqlite3. $ sudo gem install sqlite3 Password: ERROR: Error installing sqlite3: sqlite3 requires Ruby version >= 1.9.1. Mais vous utilisez des gems qui ne sont pas compatibles avec Ruby 1.9 et vous devez donc faire cohabiter [...]
RSpec have_tag et Rails assert_select cheat sheet
have_tag (RSpec) et assert_select (Rails) facilitent le test des vues grâce à une syntaxe proche de celle du CSS. Vérifions par exemple la présence d’un titre qui contient le texte Subtitle et d’un formulaire (id= »swap ») avec deux boutons radio et un bouton de soumission (class= »button_save ») : response.should have_tag(« h2″, /Subtitle/) response.should have_tag(« form#swap[method=post]« ) response.should have_tag(« form#swap input[type=radio][name=?]« , ‘part1′) response.should [...]
Déploiement Capistrano à partir de Windows
Capistrano est un outil de déploiement puissant et facile d’emploi, dont j’ai déjà parlé. Il tourne sous Windows, Mac OS et Linux (entre autres) et est d’une mise en service aisée si l’on connait ssh et subversion. C’est pourquoi j’ai été fort (désagréablement) surpris quand mon récent cap deploy a échoué avec le message d’erreur [...]
RSpec : tester le contenu d’un content_for
Une spécification de vue sous RSpec pourrait ressembler à ça : it "should render column titles" do render "/feeds/index.html.erb" response.should have_tag("tr>th", "name") response.should have_tag("tr>th", "url") end Mais cette méthode ne permet pas de tester les bribes de HTML qui sont produites dans un content_for. En effet, ces bribes sont incluses directement dans le layout, pas dans [...]
Ruby on Rails : l’opérateur bang-bang !!
Bon, ce n’est pas vraiment un opérateur, mais l’idiome est assez répandu et peut surprendre. Il est utilisé pour convertir nil en false, ce qui peut éviter des tests spécifiques comme if variable.nil? Deux petits rappels : ! est l’opérateur de négation logique. Seuls false et nil ont la valeur booléenne FAUX. Tout le reste [...]
Rails : chargement des données initiales dans la base de données
Il est fréquent que les applications aient besoin, pour fonctionner, de données initiales dans la base de données. Il y a plusieurs avis dans la communauté sur le moyen de charger ces données. Aucune méthode préférentielle ne se dégage. En particulier, les méthodes proposant de créer les données de test avec le code de l’application [...]
Localisation de Ruby on Rails
Je suis en train de traduire les fichiers de régionalisation (l10n, de l’anglais localization) de l’application de démonstration de Clemens Kofler. L’internationalisation de Rails sera intégrée dans la version 2.2 qui est prévue pour la fin de l’année
Une commande Ubiquity pour accéder directement à l’API Ruby
Jack Dempsey a créé une commande Ubiquity pour accéder directement à l’API Ruby sur APIdock. Vous pouvez l’installer en collant le code dans l’éditeur de commandes Ubiquity. ou en vous abonnant (le bouton apparaît en haut à droite du bandeau). L’utilisation est simple : invoquer Ubiquity (alt-espace sur mon Mac), taper ruby <nom-de-fonction> puis <Enter> [...]
Test fixture pour le plugin acts_as_authenticated
Écrire des fixtures n’est généralement pas compliqué (je ne parle pas de maintenance ici). Les champs cryptés posent néanmoins un problème particulier, ne serait-ce que celui de trouver la bonne fonction de cryptage. Dans le cas du plugin acts_as_authenticated, voici la démarche à suivre. Méthode Nous voulons un salt raisonnable. Nous l’obtenons donc sur random.org. [...]