2011-12-01 11 views
6

chicos!¿Cuáles son las mejores prácticas en la reutilización de código entre diferentes proyectos de Ruby?

Soy un desarrollador de software con experiencia en Java y estoy comenzando algunos proyectos usando un framework web Ruby (Padrino/Sinatra).

En mis proyectos de Java, generalmente tenía algunos proyectos "comunes" cuyas clases se usaban en varios proyectos. Por ejemplo, tenía un servicio de autenticación central y una base de datos compartida que almacenaba los perfiles de usuario. Todos mis proyectos que usaron este servicio compartieron algunos modelos asignados a la base de datos del perfil del usuario.

Entonces, a pesar del framework, orm lib, etc., ¿cuál es la mejor forma de compartir código en varios proyectos de Ruby?

Respuesta

4

Además de esto, ruby's gems es una de las mejores maneras de reutilizar partes comunes del código. Las gemas tienen nombres, números de versión y descripciones y, por lo tanto, puedes actualizar fácilmente las versiones actualizadas de estas bibliotecas, instalar y desinstalar, administrar las instalaciones locales de gemas de tu computadora usando el comando gem, disponible desde la línea de comandos. Las gemas se convirtieron en estándar con Ruby 1.9, pero antes tienes que usar la línea require 'rubygems' en las secuencias de comandos. Hay varias herramientas que ayudan a crearlos, por ejemplo, bundler. Bundler no solo es una herramienta para la creación de gemas, sino también un impresionante administrador de dependencias de aplicaciones.

0

Ponga su código en un archivo something.rb y require en la parte superior de su (s) otro (s) script (s).

También puede usar load en lugar de require, pero require tiene la agradable propiedad de que no incluirá un archivo más de una vez. Además, el uso load requiere la extensión .rb, mientras que require no lo hace, es decir,

#some_script.rb 
puts('hello world') 

#another script 
require 'some_script' 
>> hello world 

load 'some_script' 
LoadError: no such file to load -- some_script 
    from (irb):2:in 'load' 
    from (irb):2 

Casi siempre usar require, pero load es una opción, así que si quieres usarlo para ... la razón que sea.

+0

Creo que quiere decir cuál es la mejor forma de compartir ** something.rb ** en varias carpetas de proyectos. Necesito hacer esto tambien. –

Cuestiones relacionadas