Trouver patterns dans texte

Trouver patterns dans texte - Ruby/Rails - Programmation

Marsh Posté le 02-01-2010 à 10:43:45    

Bonjour,
 
J'ai le texte suivant :
 

Code :
  1. namespace :config do
  2.  task :http_server do
  3.    # required configurations
  4.    # :test, "Test bidon", {}
  5.    # /required configurations
  6.    logger.info "Configuring HTTP Server"
  7.    web_conf = CapistranoAutoMultiInstall::ConfigureWebServer.new(self,:logger=>logger)
  8.    web_conf.generate_conf_files
  9.    web_conf.write
  10.  end
  11.  
  12.  task :database do
  13.    # required configurations
  14.    # :toto, "Toto", {:toto=>:tata}
  15.    # /required configurations
  16.    db_conf = CapistranoAutoMultiInstall::ConfigureDatabase.new(self,:logger=>logger)
  17.    
  18.    db_conf.check_or_create_database
  19.    db_conf.check_or_create_user
  20.    
  21.    db_conf.create_database_yml
  22.    db_conf.syslink
  23.  end
  24.  
  25.  task :start do end
  26.  task :stop do end
  27.  task :restart, :roles => :app, :except => { :no_release => true } do
  28.    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  29.  end
  30. end
  31.  
  32. namespace :deploy do
  33.  task :just_perform_migrations do
  34.    # required configurations
  35.    # :titi, "Titi", {:toto=>:titi}
  36.    # :tutu, "Tutu", {:toto=>:titi}
  37.    # /required configurations
  38.    run "cd #{current_path} && rake db:migrate RAILS_ENV=production"
  39.  end
  40. end


 
Mon but est de sortir de ça une liste des "requires configurations" sous la forme : nom_du_namespace=>nom_du_task=>[configuration1,....]
J'ai pensé utiliser match avec une regexp pour sortir d'abord les différents bloques "namespace", puis itérer sur les tasks et enfin sur les configurations mais je n'y arrive pas.
Est-ce que vous pensez qu'il y a plus simple comme méthode? Et si non, est-ce que qqn fort en Regex peut me donner un coup de pouce?
 
Merci bien


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 02-01-2010 à 10:43:45   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed