require ‘fileutils’
%w(stylesheets javascripts images).each do |type|
dir = File.join(File.dirname(FILE), ‘assets’, type)
FileUtils.cp_r(dir, File.join(RAILS_ROOT, ‘public’)) if
File.exist?(dir)
end
%w(controllers helpers models).each do |code_dir|
$LOAD_PATH << File.join(directory, ‘app’, code_dir)
end
require ‘content’
require ‘photo’
require ‘template’
.En tu caso, al ser tu propio plugin, toda la primera parte de crear el
directorio y descargar no aplica, por lo que sólo deberÃas llamar a ruby
install.rb desde dentro del directorio de tu plugin. La única limitación
es que hay algunas variables que mágicamente existen cuando te invoca
script/install y no existirán cuando lo ejecutes con ruby install.rb,
pero como son solamente paths,puedes no usarlas y ya está.
Una tendencia que hay últimamente es dejar un install.rb vacÃo (o con un
volcado del fichero README del plugin, que queda muy elegante) y delegar
en tareas rake dentro del plugin para la instalación/deinstalación. AsÃ
simplificas el proceso para hacer instalaciones off-line.
Una tendencia que hay últimamente es dejar un install.rb vacÃo (o con un
volcado del fichero README del plugin, que queda muy elegante) y delegar
en tareas rake dentro del plugin para la instalación/deinstalación. AsÃ
simplificas el proceso para hacer instalaciones off-line.
Muchas gracias por responder.
Me has aclarado muchas cosas de funcionamiento.
SabrÃas ¿dónde puedo documentarme de cómo se desarrollan esas setencias
rake para la instalación off-line?
Porque imagino que esas sentencias van dentro de algún fichero que ese
ejecute en la instalación y realiza auntomática esas acciones no??
pero esas sentencias rake van dentro de algún fichero del plugin o se va
lanzando una a una desde una ventan de comandos??
Esas tareas son tareas rake normales y corrientes, como cualquier rake
que tengas definida para tu proyecto o las propias que da rails (como
db:migrate, por ejemplo)
La única diferencia es que los ficheros rake los deberÃas guardar en el
directorio tasks de tu plugin.
La ejecución de las tareas es manual, igual que rake db:migrate es una
tarea manual. Es parte del proceso de instalación de tu plugin.
Saludos,
javier ramirez
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.