Développeur Web RoR

Aller au contenu | Aller au menu | Aller à la recherche

Tag - postit

Fil des billets

vendredi 7 février 2014

Transformer un array d'objet ActiveRecord en hash avec comme clé l'id et l'objet en valeur

La petite astuce du jour :

Comment transformer un Array d'objet ActiveRecord en Hash avec comme clé l'id et l'objet en valeur ?

Solution

Hash[Family.all.map{ |f| [f.id,f] }]

Ce qui donne : 

{

     4: #<Family id: 4>,

     5: #<Family id: 5>,

     6: #<Family id: 6>,

}

De rien :-)

mercredi 22 janvier 2014

"Replace in path" avec des regexp dans RubyMine (jetbrains editor)

Il peut être pratique de faire un "remplacer" dans une liste de fichier.

Dans RubyMine -> Edit -> Find -> Replace In path :

Il faut cocher "Regular expression", ensuite dans "Text to find" mettez votre code avec la/les regexp :

<td><%= ([a-z]*)\.id %></td>

Qui matcherait <td><%= product.id %></td> par exemple.

Dans "Replace with" : 

<td><i class="icon-info-sign" title="<%= $1.id %>"></i></td>

Qui remplacerait l’occurrence trouvée par : <td><i class="icon-info-sign" title="<%= product.id %>"></i></td> grâce au $1. Il s'agit d'une "back reference".

Plus d'info ici : http://www.jetbrains.com/ruby/webhelp/find-and-replace-in-path.html

vendredi 17 janvier 2014

Chainer ses méthodes sans redouter un "NoMethodError" ou "undefined method for NilClass" avec try

Il peut être pratique de faire un :

@voiture.roues.first.gonflage

Voiture étant un objet de la classe Voiture.

Roue est une classe et elle belongs_to Voiture

gonflage est un attribut de roue.

Ici pour arriver jusqu'à gonflage, on peut rencontrer plusieurs nil :

@voiture peut être nil. 

Si @voiture n'est pas nil, alors roues.first peut renvoyer nil.

Eh bien il existe un fonction try sur Object (méthode qui vient de Rails et non du Ruby pur) qui permet d'essayer d'appeler une méthode, sur la classe ou sur nil, de sorte que :

@voiture.try(:roues).try(:first).try(:gonflage) renverra soit la valeur de gonflage soit nil.

jeudi 6 juin 2013

Des alternatives à Aloha Editor

En cherchant, je suis tombé sur deux alternatives à Aloha Editor, vous savez cet éditeur html5 qui fait du "content editing".

EtchJs : sous licence MIT, http://etchjs.com

HalloJs : sous licence MIT, http://hallojs.org/

Essayez-les je pense qu'ils valent le coup !

CreateJs (http://createjs.org) permet d'intégrer plus facilement ces éditeurs avec des CMS.

mardi 11 décembre 2012

3 solutions gratuites de génération de graphiques coté client qui valent le coup !

Voici 3 solutions open-sources pour faire des graphiques coté client.

Morris.js (BSD): Basé sur D3.js 

GRaphaeljs (MIT) : Basé sur Raphaeljs

Elycharts (MIT) : Basé sur Raphaeljs

Ces solutions existent depuis un petit moment déjà et vous les connaissez sûrement. Ce post fait office de post-it pour moi :-)

jeudi 26 juillet 2012

Appartment : le gem qui permet de faire du multi-tenancy avec Postgresql

Le multi-tenancy revient à avoir une seule base de données avec les données de plusieurs clients (on aurait pu aussi mettre une clé étrangère sur tous les models mais c'est plus long, moins pratique, beaucoup moins maintenable).

Ce gem exploite les schemas postgresql et permet de switcher de l'un à l'autre très simplement.

Source : https://github.com/bradrobertson/apartment

lundi 23 janvier 2012

Les ressources / articles web dev de ces derniers jours

Voici les quelques ressources que j'ai trouvé intéressante ces derniers jours (ça fait office de post-it en ce qui me concerne).

Framework html / css / js : http://www.99lime.com/

jQuery highlighter de code (marche avec Ruby !) : http://steamdev.com/snippet/

Utilisation de VIM : tutorial découverte par Synbioz : http://www.synbioz.com/blog/2012/01/18/l_utilisation_de_vim

Impress.js (Sur la ferme du web) : http://www.lafermeduweb.net/billet/impress-js-creez-des-presentations-de-type-prezi-en-javascript-1273.html

User interface Futurico (attention payant, mais peut être une bonne source d'inspi !) : http://www.behance.net/gallery/Futurico-User-Interface-Pro/2650227

Autre user interface : http://www.webdesignerdepot.com/2012/01/free-download-balio-web-ui-kit/

Inspiration de design web : http://www.queness.com/community-news/10453/30-beautiful-web-design-examples-from-behance-and-deviantart

En espérant que cette petite compilation vous servira...

- page 1 de 4