lundi, janvier 30, 2006

Un jolie site de doc pour ruby

Le site de doc pour ruby a fait peau neuve. C'est jolie et clair j'aime bien :)
Vu sur o'reilly
Technorati tags:

elsif ou elseif ?

J'ai eu besoin d'utiliser un "elseif" en ruby et j'ai été étonné de découvrir qu'en ruby (apparement comme en perl), ça s'écrit "elsif"... pourquoi pas mais bon j'aurai préféré "elseif" et apparement je suis pas le seul! cf ce mail sur la mailing list ruby-talk.
Technorati tags:

Test d'un object "nil"

Un petit truc qui a l'air de rien comme ça mais qui est bien pratique:
  object = nil
  if(object)
    puts 'on ne voit pas ce message'
  end
Si un objet et nil, le test est false.
Ca veut dire que ce n'est plus la peine de faire comme en java:
  Object object = null;
  if(object!=null) {
    System.out.println("on ne voit pas ce message");
  }
Technorati tags:

dimanche, janvier 29, 2006

[Rails] Les mots clefs a ne pas utiliser (c.à.d les mots réservés)

Un petit script pour connaître les mots réservés:
>ruby -r config/environment -e 'print Object.constants.sort.join(", ")'
Résultat:
ARGF, ARGV, ActionController, ActionMailer, ActionPack, ActionView, ActionWebSer
vice, ActiveRecord, ActiveSupport, ArgumentError, Array, BREAKPOINT_SERVER_PORT,
 Base64, BasicSocket, Benchmark, Bignum, Binding, Buffering, Builder, CGI, CGIMe
thods, CROSS_COMPILING, Class, ClassInheritableAttributes, Comparable, Condition
Variable, Config, Continuation, Controllers, DRb, DRbIdConv, DRbObject, DRbUndum
ped, Data, Date, DateTime, Delegater, Delegator, Dependencies, Deprecated, Diges
t, Dir, ENV, EOFError, ERB, Enumerable, Errno, Exception, FALSE, FalseClass, Fcn
tl, File, FileTest, FileUtils, FireRuby, Fixnum, Float, FloatDomainError, Forwar
dable, GC, Gem, HTML, Hash, HashWithIndifferentAccess, IO, IOError, IPSocket, IP
socket, IndexError, Inflector, Integer, Interrupt, Kconv, Kernel, LoadError, Loc
alJumpError, Logger, MailHelper, Marshal, MatchData, MatchingData, Math, Method,
 MissingSourceFile, Module, Mutex, Mutex_m, NIL, NKF, NQXML, NameError, Net, Nil
Class, NoMemoryError, NoMethodError, NotImplementedError, Numeric, Object, Objec
tSpace, Observable, OpenSSL, OrderedOptions, PLATFORM, PStore, ParseDate, ParseE
rror, Pathname, Precision, Proc, Process, Queue, RAILS_CONNECTION_ADAPTERS, RAIL
S_DEFAULT_LOGGER, RAILS_ENV, RAILS_ROOT, RAILTIES_PATH, RELEASE_DATE, REXML, RUB
Y_PLATFORM, RUBY_RELEASE_DATE, RUBY_VERSION, Racc, Rails, Range, RangeError, Rat
ional, Regexp, RegexpError, RuntimeError, SOAP, STDERR, STDIN, STDOUT, ScanError
, ScriptError, SecurityError, Set, Signal, SignalException, SimpleDelegater, Sim
pleDelegator, SingleForwardable, Singleton, SizedQueue, Socket, SocketError, Sor
tedSet, StandardError, String, StringIO, StringInput, StringOutput, StringScanne
r, Struct, Symbol, SyntaxError, SystemCallError, SystemExit, SystemStackError, T
CPServer, TCPSocket, TCPserver, TCPsocket, TMail, TOPLEVEL_BINDING, TRUE, Text,
Thread, ThreadError, ThreadGroup, Time, TimeZone, Timeout, TimeoutError, Transac
tion, TrueClass, TypeError, UDPSocket, UDPsocket, URI, UnboundMethod, VERSION, W
in32API, XML, XMLEncoding, XMLParser, XMLParserError, XMLRPC, XSD, XmlSimple, YA
ML, ZeroDivisionError, Zlib
Vu sur: Gotcha du wiki ruby on rails
Technorati tags:

mardi, janvier 24, 2006

[Rails] Connaître la configuration exacte (versions etc...) de mon projet

Voilà le genre de petite pépite cachée dans rails, ceux qui vécu le "Jar Hell" apprécieront:
C:\developpement\workspaces\workspaceRuby\projet>ruby script/about
About your application's environment
Ruby version                 1.8.2 (i386-mswin32)
RubyGems version             0.8.10
Rails version                1.0.0
Active Record version        1.13.2
Action Pack version          1.11.2
Action Web Service version   1.0.0
Action Mailer version        1.1.5
Active Support version       1.2.5
Application root             C:/developpement/workspaces/workspaceRuby/projet
Environment                  development
Database adapter             mysql
Technorati tags:

lundi, janvier 23, 2006

Problème de connection MySQL 4.1

Je viens juste d'avoir un problème avec Ruby / ActiveRecord / MySql 4.1 sous Windows XP!! J'en fait un post parce que c'est assez vicieux. Voilà le code de mon script, il est supposé se connecter à une table de la base de donnée et faire un select dedans:
require "rubygems"
require_gem "activerecord"

# probleme de mysql
# http://jeroen.concept-q.biz/files/
ActiveRecord::Base.establish_connection(
     :adapter  => "mysql",
     :host     => "mysql.machine",
     :username => "user",
     :password => "password",
     :database => "dotproject")
     
class TaskLog < ActiveRecord::Base 
 set_table_name "task_log"
 set_primary_key "task_log_id"
end

task_logs = TaskLog.find(:all, :conditions => "task_log_creator = '49'")
for task_log in task_logs
 puts task_log.task_log_id
end

Voilà le genre de messages que j'avais:
Mysql::Error: Lost connection to MySQL server during query: 
SELECT * FROM task_log WHERE (task_log_creator = '49')  (ActiveRecord::StatementInvalid)

Ce code fonctionnait sur ma base de donnée en local mysql 5.0 mais pas sur la base distante en 4.1!!!
Solution:J'ai trouvé la solution sur le wiki de rails mais elle ne me plait pas trop :(
Il faut télécharger msvcr70.dll et mysql-ruby-win32.rar > ...mysql-4.1.15\mysql.so.
Les mettre sous:
  • C:\ruby\lib\ruby\bin\msvcr70.dll
  • C:\ruby\lib\ruby\1.8\i386-mswin32\mysql.so
et ca fonctionne.
ATTENTION:C'est clairement une bidouille, dans mon cas c'est juste un petit script pour moi. J'éviterai de faire ca en production dans un autre cas!
Technorati tags:

vendredi, janvier 20, 2006

[Rails] Mettre un encoding différent dans rails

Par défaut l'encoding dans rails est mis à utf-8. Pour le changer de manière globale il suffit de rajouter ces quelques lignes dans controllers/application.rb:
  before_filter :set_charset
  
  def set_charset
    @headers["Content-Type"] = "text/html; charset=iso-8859-1"
  end
Quelques liens interessants sur le sujet:
Technorati tags:

jeudi, janvier 19, 2006

Les conséquences de la guerre des brevets dans IE

Un article intéressant de julien sur les conséquences de la guerre des brevets dans IE surtout au niveau des animations flash.
Technorati tags:

vendredi, janvier 13, 2006

[Rails] Video bien sympa

Voilà une vidéo bien sympathique qui explique le cheminement de php/java vers rails et le fonctionnement de rails (pourquoi, comment...)
source:weblog.rubyonrails
Technorati tags:

jeudi, janvier 12, 2006

Comment me mettre en colère - radrails update site

Ca y est radrails m'a mis en colère! Ca fait la deuxième fois qu'ils changent leur update site!!! S'il y a bien un truc à ne pas changer c'est ça!
Résultat j'étais pas au courant des updates! Heureusement je me suis pas fait avoir une deuxième fois... je me suis douté qu'après 2 mois aucune mise à jour c'était louche!
Maintenant c'est: http://radrails.sourceforge.net/update
Technorati tags: