Blog

User blogs

Romain GEORGES

Tag cloud

POST #4Ruby: Agit en personne rationnelle (1 commentaire)

Ajouté par Romain GEORGES il y a environ 7 ans

Tu veux te comporter en personne rationnelle ?
Alors arrête de coder pour rien !
Tu veux faire une petite appli/web avec ses petits formulaires de recherche et de saisies tout standard ?

  1. Rails est ton ami
  2. Streamlined est ton outils

Voir les screencasts c'est bluffant :

Voir le starter guide :

et enfin la doc :

POST #3Ruby : Meta-programmation, Le Rapid'Asperge sauce Ruby

Ajouté par Romain GEORGES il y a environ 7 ans

Aujourd'hui on va faire des objets ! Alors ça c'est super exotique en Ruby me direz vous,
Des objets dans un langage full-objet ....

Oui mais on va le faire vite !

Un autre jour, j'aurais pu faire :

class MyClass
  def initialize(var1=1,var2=2;var3=3)
    @var1 = var1
    @var2 = var2
    @var3 = var3
  end
end

mais j'ai mieux ! et aujourd'hui est un autre jour :
je vais d'abord ré-implémenter Object pour lui ajouter la méthode init_instance_vars

tel que :

class Object
  private
  def init_instance_vars(binding,*variables)
    variables.each do |var|
      instance_variable_set("@#{var}",eval(var,binding))
    end
  end
end

On peu alors faire notre classe du genre :

class MyClass
  def initialize(var1=1,var2=2,var3=3)
    init_instance_vars(binding,*local_variables)
  end
end

d'ou :

MyClass.new(10,20,30)
# => #<MyClass:0x51de5 @var1=10, @var2=20, @var3=30>

encore mieux :

dans la surcharge de Object :

def init_instance_attr(binding,*variables)
  variables.each do |var|
    instance_variable_set("@#{var}",eval(var,binding))
    eval %{ def #{var}
              return @#{var}
            end }
    eval %{ def #{var}=(_var)
              @#{var} = _var
            end }
  end
end

Et donc maintenant, en modifiant l'appel d'init vers le nouveau :

p toto = MyClass.new(10,20,30)
p toto.var1 = 10
toto.var2 =45
p toto

donne :

#<MyClass:0x1ce918 @var2=20, @var1=10, @var3=30>
10
#<MyClass:0x1ce918 @var2=45, @var1=10, @var3=30>

POST #2Passenger le rails simplifié

Ajouté par Romain GEORGES il y a environ 7 ans

Pour déployer un site rails :

Depuis un serveur Apache 2.X déja en service avec un Ruby et Rubygems en état de marche :

  # gem install passenger
  # passenger-install-apache2-module

taper 1 pour laisser le module s'installer lui-même.

On aura donc le minimum vital dans la config Apache :

# de quoi faire des vhosts
Listen *:80
NameVirtualHosts *:80
....

# mis en place par l'assistant
LoadModule passenger_module /path_vers/passenger-x.x.x/ext/apache2/mod_passenger.so

PassengerRuby /usr/local/bin/ruby
PassengerRoot /path_vers/passenger/x.x.x
PassengerMaxPoolSize 10

<VirtualHost *:80>
    ServerName www.mondomainequiresoud.com
    DocumentRoot /webapps/monapplirails/public
    RailsBaseURI /rails
</VirtualHost>

Pour en savoir plus :

http://www.modrails.com

POST #1GemCutter

Ajouté par Romain GEORGES il y a plus de 7 ans

Pour le déploiement de ses projets Opensource, Ultragreen choisit GemCutter pour la simplicité, pour l'utilisateur comme pour le développeur.

Installer Gemcutter c'est simple

  $ sudo bash
  # gem ins gemcutter

Activer GemCutter c'est facile

  # gem tumble

Cette manoeuvre trivial est valable si vous êtes utilisateur ou développeur

A partir de cette instant l'utilisateur peut installer tout les Gems de GemCutter

  # gem ins <GEM>

Et le développeur lui peut "pousser" ses chef d'oeuvres, après avoir crée un compte sur le site de GemCutter
  $ gem push <super.gem>

Il peut aussi avoir les stats de téléchargement de son travail

  # gem ins gem-stats
  # gem stat <super.gem>

Plus simple c'était difficile !

1 ... 6 7 8 (71-74/74)

Formats disponibles : Atom RSS