Développeur Web RoR

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

mardi 29 novembre 2011

Emploi : Développeur Web RubyOnRails sur Paris et Lille

J'ai dans mes contacts deux entreprises qui cherchent des développeur Web RubyOnRails.

Wype, une jeune Web Agency Parisienne est à la recherche d'un développeur web RubyOnRails (CDI, Salaire négociable), voici l'annonce :

-> http://remixjobs.com/emploi/Developpement/Developpeur-Ruby-on-Rails-H-F/11380

Une autre entreprise Lilloise SiliconSalad cherche également un développeur web RubyOnRails (CDI, Salaire négociable), voici l'annonce :

-> http://remixjobs.com/emploi/Developpement/Developpeur-Ruby-on-Rails-H-F/11547

Je leur souhaite de trouver chaussure au poste de travail, elles le méritent !

mercredi 15 juin 2011

API Poster sur twitter en ruby

Depuis quelques temps déjà twitter demande l'inscription d'une application pour poster via l'API. Bon je ne vais pas vous expliquer comment courtourner le système ! Avec le gem twitter, pas très compliqué, le seul problème c'est que le gem n'est compatible que ruby 1.9 donc pour les applications rubyonrails en ruby 1.8 c'est mort.

1) En premier inscrire une application sous votre compte twitter (il faut déjà un compte twitter).

à Cette adresse : https://dev.twitter.com/apps/new , mettez ce que vous voulez mais Application Type: client et  Default Access type: read & write ensuite récupérez vos :

consumer_key (disponible sur la page de l'application)

consumer_secret (disponible sur la page de l'application)

oauth_token (il faut cliquer sur "My Access Token" dans le menu à droite)

oauth_token_secret (il faut cliquer sur "My Access Token" dans le menu à droite)

2) Donc installation du gem 

sudo gem install twitter 

Si vous utilisez rvm il faut utiliser l'executable gem de ruby d'rvm 

rvm 1.9.2

gem install twitter

3) Script d'exemple :

#======================== Poster sur twitter =======================
# Plus de docs sur http://twitter.rubyforge.org/
require 'rubygems'
require 'twitter'
Twitter.configure do |config|
  config.consumer_key = "XXXXX"
  config.consumer_secret = "XXXXX"
end
# Initialise votre client Twitter
client = Twitter::Client.new(:oauth_token => "XXXXX", :oauth_token_secret => "XXXXX")
# Limite de post possible, j'ai des doutes sur ce fonctionnement
puts client.rate_limit_status.remaining_hits.to_s + " Twitter API request(s) remaining this hour"
5.times{ |t|
  if client.rate_limit_status.remaining_hits.to_i != 0 then
    # Poste
    client.update(" Test numéro " + t.to_s)
  end
}

Voilà bon twits !

jeudi 19 mai 2011

Netbeans 7.0 pour faire du rubyonrails

Bon alors vous pouvez utilisé netbeans 7.0 pour faire du rubyonrails.

1) Téléchargez netbeans 7.0 ( http://netbeans.org/downloads/ ), elle n'existe pas encore en français, prenez la version php, plus légère.

2) Lancez NetBeans 7, puis allez dans "Tools" > "Plugins". Dans l'onglet "available Plugins" recherchez "ruby". Puis cochez le plugin "Ruby and Rais". Enfin cliquez sur "install". A la fin il est demandé de redémarrrer netbeans, faites le.

Voilà voilà vous avez netbeans 7.0 tout beau tout propre pour programmer dans votre langage préféré : ruby avec son framework rails

vendredi 4 février 2011

Les petits bouts de code bogués dans les applications RubyOnRails 3

Voici quelques exemples de portion de code buggé :

1) Gestion des id et relations

Exemple de mauvais code :

family = Family.new(:name => "Bla")

product = Product.new(:family_id => family)

On a ici une confusion entre l'objet et l'id de l'objet, rails est magique mais pas tout le temps :

Soit on fait :

product = Product.new(:family_id => family.id)

Soit :

product = Product.new(:family => family)

Et non

product = Product.new(:family_id => family)


2) Utilisation de find_by_sql

Exemple de mauvais code :

families = Family.find_by_sql("SELECT * FROM families f JOIN products p ON p.family_id = f.id")

Family.find(families.first.id)

#Génére une erreur

Dans cet exemple de code, ActiveRecord ne sait pas quels ids mapper dans les objets family. Il se peut que ce soit les ids des produits qui sont dans les champs ids des objets ruby.

Pour ne pas avoir ce problème il ne faut retourner que les champs de l'objet :

families = Family.find_by_sql("SELECT f.* FROM families f JOIN products p ON p.family_id = f.id")

Le mapping est dans ce cas correct !

3) Sauvegarde en cascade :

# Ici on a family has_many products et product belongs_to family

p = Product.new(:name => "Produit1")

f = Family.new(:name => "Family1")

Ceci sauvegarde la famille en cascade :

p.family = f

p.save

#true

Ceci ne sauvegarde pas le produit en cascade :

f.products << p

f.save

#false

Si vous avez d'autres exemples laissez des commentaires !


mercredi 19 janvier 2011

Une fonction pour vider les tables associées aux models - rubyonrails 3

Voici une fonction pour vider les tables associées aux models dans une application rubyonrails 3.

Soit en console, soit dans votre code, vous pouvez faire :

ActiveRecord::Base.class_eval do

    def self.detonate

        all.map(&:destroy)

    end

end

Cela a pour effet d' "injecter la fonction dans tous les objets" active record.

Ensuite il suffit d'appeler la fonction de cette manière :

Product.detonate

Ainsi tous les produits sont supprimés de la base de données, pratique pour faire du ménage !

Source : http://snippets.dzone.com/posts/show/11603

Rendu json avec rails 3

Si vous souhaitez faire un rendu json : voilà comment procéder :

Dans routes.rb :

get "show_product/:id(.:format)" => "products#show_product"

Dans votre controlleur products_controller.rb :

def show_product

    @product  = Product.where(:id => params[:id]).first

    respond_to do |format|

      format.html

      format.json{

        render :json => @product.to_json(:include => [:family])

      }

    end

end

Vous aurez remarqué l'option include pour la fonction to_json qui permet d'inclure des models liés dans le rendu json !

mercredi 5 janvier 2011

Générer des graphiques et schemas de données à partir d'une application rubyonrails 3 avec RailRoady

Comme toujours le titre est explicite : RailRoady (fork de railroad pour rails 2.3) permet de générer des graphiques et schemas de données à partir d'une application rubyonrails 3.

Dans votre gemfile :


gem 'railroady'

Sous votre distrib, (issu de la doc railroady) tapez :

sudo port install graphviz

Ensuite dans le répertoire de l'application rails 3 :

bundle install
rake diagram:all

Les graphiques sont générés dans le répertoire doc de votre application.

Source et site officiel : http://railroady.prestonlee.com/

- page 1 de 4