Luis,  gracias muchas gracias !!! :) Eso es todo lo que necesitaba :)

On Wed, Jul 8, 2009 at 3:52 PM, Luis Lavena <[email protected]> wrote:

> 2009/7/8 Matias Pablo Brutti <[email protected]>:
> > Mientras le agregaba features a una tool me encontre con que tenia que
> > agregar a mi .gemspec una gem "win32ole". La tool tambien funciona en
> > Linux/osx  (primordialmente), entonces agregarle la dependencia de
> win32ole
> > todo el tiempo no tiene sentido.  Me preguntaba si alguien sabe como
> hacerlo
> > sin tener que usar rake.
> > Busque y busque pero no encontre nada en la documentacion.  Se me ocurrio
> > hacer un require 'platform' y en el   add_dependency lo filtre con un if
> > Platform::IMPL == :mswin , pero no creo sea "the ruby way" ajajaj
> > Slds.
> >
>
> Hola Matias,
>
> Tu gem necesita win32/win32ole, o la version Pure-Ruby?
>
> Pregunto esto por que win32ole no es una gema, sino una extension que
> viene integrada en Ruby en su instalacion de Windows.
>
> C:\Users\Luis>irb
> irb(main):001:0> require 'win32ole'
> => true
> irb(main):002:0> pp $LOADED_FEATURES.sort
> ["Win32API.so",
>  "e2mmap.rb",
>  "etc.so",
>  "irb.rb",
>  "irb/completion.rb",
>  "irb/context.rb",
>  "irb/extend-command.rb",
>  "irb/init.rb",
>  "irb/input-method.rb",
>  "irb/locale.rb",
>  "irb/notifier.rb",
>  "irb/output-method.rb",
>  "irb/ruby-lex.rb",
>  "irb/ruby-token.rb",
>  "irb/slex.rb",
>  "irb/workspace.rb",
>  "pp.rb",
>  "prettyprint.rb",
>  "rbreadline.rb",
>  "readline.rb",
>  "win32ole.so"]
>
> ===
>
> Lo que deberias hacer es colocar un condicional de la plataforma
> alrededor del require que invoca win32ole.
>
>
> if RUBY_PLATFROM =~ /mingw|mswin/ then
>  require 'win32ole'
>  # ...
> end
>
> De esta manera, tenes solo una gema, con plataforma RUBY, y
> condicionalmente y en tiempo de ejecución determinas si estas en
> Windows para requerir ese componente.
>
> Asi tambien evitas usar Rake, que parece que no te agrada :-P
>
> Espero esto te sirva.
>
> Saludos,
> --
> Luis Lavena
> AREA 17
> -
> Perfection in design is achieved not when there is nothing more to add,
> but rather when there is nothing more to take away.
> Antoine de Saint-Exupéry
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>



-- 
--
--<自由編碼人>--
Ing. Matias Pablo Brutti
Security Consultant
Email : [email protected]
Site: http://www.freedomcoder.com.ar
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a