Skip to content

Instantly share code, notes, and snippets.

View sofadesign's full-sized avatar

Fabrice Luraine sofadesign

  • http://www.lunaweb.fr
View GitHub Profile

Récolte du jour

Une bonne sélection de gems. On en utilise déjà une bonne partie mais je vous invite à jeter tout particulièrement un oeil sur:

  • les acts_as_*, sutout pour voir comment ils sont construits
  • formtatic/simple_form: de meilleurs formulaires en écrivant moins de code ? ça ajoute encore une couche d'abstraction donc à tester en profondeur pour vérfier l'apport.
  • carrierwave: extrêmement bien fait, beacoup plus clair que PaperClip; beaucoup plus récent aussi donc ne pas se précipiter dessus
  • backup: ça donne carrément envie de mettre en place des backups partout
  • state_machine / workflow
  • Grape: un micro-framework pour créer des API Restful. L'API créée est une appli Rack donc c'est un jeu d'enfant pour l'utiliser dans une appli rails
[Un tip git par jour](https://github.com/francois2metz/gitdaily): histoire de découvrir tranquillement de nouveaux trucs sur Git.
[MicroJS: Fantastic Micro-Frameworks and Micro-Libraries for Fun and Profit!](http://microjs.com/) parce qu'il n'y a pas que jQuery dans la vie et que parfois on a besoin de choses plus minimales et mieux adaptée à un besoin particulier.
[Constructing Web APIs with Rack, Sinatra and MongoDB](http://www.slideshare.net/oisin/constructing-web-apis-with-rack-sinatra-and-mongodb) Prochaine API qu'on développe, c'est promis, on la fait avec MongoDB :)
Ruby manque de documentation ? Un [petit challenge à été lancé](http://blog.segment7.net/2011/05/09/ruby-1-9-3-documentation-challenge) pour atteindre 60% de code documenté pour la sortie de Ruby 1.9.3 en juillet. [Y Contribuer](http://blog.steveklabnik.com/contributing-to-rubys-documentation) est par ailleurs relativement aisé.
Rails 3.1, encore un petit aperçu: devenez encore plus fainéants avec les [migrations réversibles](http://e
@sofadesign
sofadesign / rails-hhtp-headers.rb
Created January 22, 2011 15:47
des Headers HTTP personnalisés dans Rails
# des Headers HTTP personnalisés dans Rails:
class MyController
before_filter :custom_response_headers
def custom_response_headers
response.headers["X-Luna-Mood"] = ";-)"
# …
end
end
@sofadesign
sofadesign / nginx.conf
Created November 25, 2010 14:17 — forked from mikhailov/installation.sh
Nginx+passenger application config: ssl redirection, http headers, passenger optimal settings. see details: http://mikhailov.posterous.com/nginx
user app;
worker_processes 2;
error_log /home/app/logs/nginx.error.log info;
events {
worker_connections 1024;
}
#!/usr/bin/ruby
SIX (UNIMPRESSIVE) # Markdown version:
REASONS CAMPING IS BETTER # 1) Download this email
THAN YOU WOULD IMAGINE # 2) ruby email.rb
reasons.push(COMMUNITY) do %%
Yes, Sinatra has a big community, but Camping definitely has a great
community too. Size doesn't always matter. Because there are so few users,
it means every single issue gets full attention.
#
# smart_label_form_builder.rb
#
# original code from:
# http://openmonkey.com/articles/2010/03/rails-labels-with-blocks
#
# --
# adding HAML compatibility (fabrice AT sofa-design DOT net)
#
class SmartLabelFormBuilder < ActionView::Helpers::FormBuilder
// 1.
function foo(){
function bar() {return 3;}
return bar();
function bar() {return 8;}
}
alert(foo()); // 8
// mais
// 2.
DROP TABLE IF EXISTS `scores`;
CREATE TABLE `scores` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`value` char(1) DEFAULT NULL,
`level` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
LOCK TABLES `scores` WRITE;
# Ways to execute a shell script in Ruby
# Example Script - Joseph Pecoraro
cmd = "echo 'hi'" # Sample string that can be used
# 1. Kernel#` - commonly called backticks - `cmd`
# This is like many other languages, including bash, PHP, and Perl
# Returns the result of the shell command
# Docs: http://ruby-doc.org/core/classes/Kernel.html#M001111
<?php
function autoload_controller($callback)
{
$path = option('controllers_dir');
if(strpos($callback, 'admin_') === 0)
{
$path = file_path($path, 'admin');
}
require_once_dir($path);