zafiro tipos significado rubies rubi preciosas precio piedras piedra identificar como bruto ruby-on-rails ruby gem

ruby on rails - tipos - Gemas de rubíes en guiones de rubíes independientes



tipos de piedras preciosas (4)

Debería poder simplemente exigirlo directamente en versiones recientes de Ruby.

# optional, also allows you to specify version gem ''chronic'', ''~>0.6'' # just require and use it require ''chronic'' puts Chronic::VERSION # yields "0.6.7" for me

Si aún está en Ruby 1.8 (que no requiere RubyGems por defecto), tendrá que poner explícitamente esta línea sobre su intento de cargar la gema:

require ''rubygems''

Alternativamente, puede invocar al intérprete de Ruby con la bandera -rubygems que tendrá el mismo efecto.

Ver también:

Esta es una pregunta muy básica de gemas rubí. Estoy familiarizado con la escritura de guiones ruby ​​simples como este:

#!/usr/bin/ruby require ''time'' t = Time.at(123) puts t

Ahora me gustaría usar mi propia gema rubí en mi guión. En mi proyecto de rieles simplemente puedo require ''my_gem'' . Sin embargo, esto no funciona en una secuencia de comandos independiente. ¿Cuál es la mejor forma de usar mi propia gema en una secuencia de comandos de Ruby independiente?


Instalar gemas con algo como lo siguiente debería funcionar. Tenga en cuenta si las gemas deben instalarse como parte de ruby ​​del sistema o de un usuario.

#!/usr/bin/env ruby require ''rubygems'' def install_gem(name, version=Gem::Requirement.default) begin gem name, version rescue LoadError print "ruby gem ''#{name}'' not found, " << "would you like to install it (y/N)? : " answer = gets if answer[0].downcase.include? "y" Gem.install name, version else exit(1) end end end # any of the following will work... install_gem ''activesupport'' install_gem ''activesupport'', ''= 4.2.5'' install_gem ''activesupport'', ''~> 4.2.5'' # require as normal (since not all gems install & require with same name) ... require ''active_support/all'' ...


No estoy seguro de si entendí bien tu pregunta, pero quizás no tengas una gema, incluso si la escribes (eres un principiante, así que tal vez entendiste mal el concepto de gemas).

Solo para estar seguro: ¿Tienes una gemspec para tu gema? Si no, entonces no tienes gema, sino un solo script.

Cuando desee su propio script dentro de otro script, puede hacer lo siguiente:

require ''my_script''

Con ruby ​​1.8 esto funciona bien, si my_script.rb está en la misma carpeta que tu script principal. Con ruby ​​1.9+ puedes usar:

require_relative ''my_script''

No hay necesidad de una gema en este caso.


Podrías usar algo como esto. Se instalará la gema si no está ya instalada:

def load_gem(name, version=nil) # needed if your ruby version is less than 1.9 require ''rubygems'' begin gem name, version rescue LoadError version = "--version ''#{version}''" unless version.nil? system("gem install #{name} #{version}") Gem.clear_paths retry end require name end load_gem ''your_gem''