JeuWeb - Crée ton jeu par navigateur
Démarrer avec Ruby, questions - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Démarrer avec Ruby, questions (/showthread.php?tid=218)

Pages : 1 2


RE: Démarrer avec Ruby, questions - srm - 06-01-2011

En effet Sephi-Chan il vaut mieux tout d'abord utiliser ActiveRecord qui est plus habituel comme ORM pour Rails.

Mais jeter un oeil à DM et Sequel ne fait pas de mal, Sequel permet d'avoir un ORM en utilisant toute la puissance de ta base de données, exemple :
Code :
statistics = Statistics.select{[
        max(player_id).as(player_id),
        avg(psr).cast(Integer).as(psr),
        sum(psr_gain).as(psr_gain),
        sum(nb_neutral_kill).as(nb_neutral_kill)
    ]}.filter('nb_game > 0').group(:player_id).order(:psr.desc)

Ou encore :
Code :
game = Game.select{[
        sum(1).as(nb_game),
        sum({1 => 1}.case(0, :result_id)).as(nb_win),
        sum(xp_min).as(xp_min)
    ]}.filter('player_id = ?', player.id).group(:player_id).first



RE: Démarrer avec Ruby, questions - Sephi-Chan - 06-01-2011

Effectivement j'avais bien aimé Sequel, que j'avais essayé pour un petit projet (un crawler de vidéos pour NouvelObs qui faisaient ensuite des stats basiques à propos de la pertinence).
En fait, je trouve Sequel très intéressant dès lors qu'on fait des requêtes qui ne renvoient pas des records.


Sephi-Chan


RE: Démarrer avec Ruby, questions - srm - 06-01-2011

Il a aussi une composante ORM (ala ActiveRecord, DataMapper) franchement loin d'être vilaine Smile
Insertion "ala SQL" mais en spécifiant juste clés = valeur.
Code :
items.insert(:name => 'abc', :price => rand * 100)
Création "ala ActiveRecord"
Code :
album = Album.new
album.name = 'RF'
album.save
Modification d'un item "ala ActiveRecord"
Code :
album = Album[1234]
album.name = 'RF'
album.save
etc...


RE: Démarrer avec Ruby, questions - Viciousity - 06-01-2011

Bah en ruby tu peux te faire plaisir et taper un :
Album.new(:name=>'RF').save
Album.find(1234).set_attributes(:name=>'RF')

En plus de sa tu peux créer tes propres méthode de recherche :

class Post < ActiveRecord::Base
def self.latest size
self.where(:active=>true).order('created_at DESC').limit(size)
end
end
# tu peux donc l'apeller en faisant simplement
Post.latest(10) # stockera les 10 derniers posts.
Pas sorcier et intuitif Smile
Je suis sur que l'on peut le faire avec DataMapper mais je trouve que active présente sa nickel Smile


RE: Démarrer avec Ruby, questions - srm - 06-01-2011

Sequel c'est du Ruby hein Wink
J'expliquais justement qu'il avait une syntaxe "aussi élégante" (avis subjectif) que ActiveRecord Wink
Mais qu'en plus comme montré plus haut il permettait de gérer des requêtes exploitant toute la puissance de la base de données Smile