unless required_version.satisfied_by? Gem.ruby_version then
abort “Expected Ruby Version #{required_version}, is
#{Gem.ruby_version}”
end
args = ARGV.clone
begin
Gem::GemRunner.new.run args
rescue Gem::SystemExitException => e
exit e.exit_code
end
My questions are:
Is this the main RubyGems application? If it is, can someone explain
to me the significance of it not having an extension like .rb ?
Is RubyGems required for any simple library I would create myself?
for example, mylibrary.rb
Or is RubyGems used solely for downloaded gems like RedCloth?
If I have a file, test.rb , and the first line of code is:
require ‘rubygems’ ,
what file is it requiring? Is it the ‘gem’ file in C:\Ruby192\bin ?
unless required_version.satisfied_by? Gem.ruby_version then
abort “Expected Ruby Version #{required_version}, is
#{Gem.ruby_version}”
end
args = ARGV.clone
begin
Gem::GemRunner.new.run args
rescue Gem::SystemExitException => e
exit e.exit_code
end
My questions are:
Is this the main RubyGems application? If it is, can someone explain
to me the significance of it not having an extension like .rb ?
Think of that as a helper that does a little bit of management and
starts up the main RubyGems application. On a Windows system, gem is
called by the gem.bat file in the C:\Ruby192\bin directory. Since C:\Ruby192\bin in on your PATH, you simply type things like gem list and things just work. On a Linux system,
Is RubyGems required for any simple library I would create myself?
for example, mylibrary.rb
Or is RubyGems used solely for downloaded gems like RedCloth?
It depends on what you’re doing in mylibrary.rb. If it’s standalone
with no dependencies on another gem, then probably not.
But more than likely you’ll be reusing others code via RG so it’s a bit
of a moot point. And your little library may cleverly be reusing very
useful RG helpers like Gem.ruby or Gem.win_platform? or Gem.user_dir
If I have a file, test.rb , and the first line of code is:
require ‘rubygems’ ,
what file is it requiring? Is it the ‘gem’ file in C:\Ruby192\bin ?
Hey, you’re missing out on one of the best ways to learn Ruby;
spelunking Ruby’s innards via irb or ripl.
Hi Jon! I am familiar with IRB and ‘puts $LOAD_PATH’. I fail to see
your point. I still don’t know what file is being required in:
require ‘rubygems’
Is it the rubygems.rb in C:\Ruby192\lib\ruby\1.9.1 ?
If it is, then why is that when I cut it and paste it somewhere else
(e.g. on the Desktop), the program which has the require ‘rubygems’ code
would still run?
Hi!
I’m running windows 7. Inside this directory, C:\Ruby192\bin , is the
file ‘gem’ . It’s just ‘gem’ , no extension like .rb or anything.
Opened it with a text editor:
[…]
My questions are:
Is this the main RubyGems application? If it is, can someone explain
to me the significance of it not having an extension like .rb ?
That is the RubyGems wrapper for the RubyGems CLI interface.
That script is called from gem.bat
Is RubyGems required for any simple library I would create myself?
for example, mylibrary.rb
Or is RubyGems used solely for downloaded gems like RedCloth?
gem and gem.bat are the CLI of RubyGems
Please see what RubyGems is for:
If I have a file, test.rb , and the first line of code is:
require ‘rubygems’ ,
what file is it requiring? Is it the ‘gem’ file in C:\Ruby192\bin ?
No, is loading RubyGems loading mechanism. It will allow you libraries
distributed as gems using simple “require”
C:/ruby193/lib/ruby/site_ruby/1.9.1
Hi Jon! I am familiar with IRB and ‘puts $LOAD_PATH’. I fail to see
your point. I still don’t know what file is being required in:
require ‘rubygems’
Is it the rubygems.rb in C:\Ruby192\lib\ruby\1.9.1 ?
If it is, then why is that when I cut it and paste it somewhere else
(e.g. on the Desktop), the program which has the require ‘rubygems’ code
would still run?
First of all, the version of Ruby you appear to be using (1.9.2)
automatically requires in the rubygems file, so you don’t need to do it
yourself in your scripts unless you want to ensure that they continue to
run on older Ruby versions (1.8.x).
If you would like to see where rubygems.rb lives for your Ruby instance,
try running the following:
ruby -e “puts $”"
That will print out the list of loaded files, and you should see full
path to rubygems.rb in there.
Hey Luis and other experts, I would really appreciate it if you could be
more specific about certain names. Like CLI, is it the Common Language
Infrastructure?
I don’t have context and without context the first thing I would be
thinking of is “command line interface”.
Hey Luis and other experts, I would really appreciate it if you could be
more specific about certain names. Like CLI, is it the Common Language
Infrastructure?
On Fri, Nov 11, 2011 at 04:36:36PM +0900, Kaye Ng wrote:
Hey Luis and other experts, I would really appreciate it if you could be
more specific about certain names. Like CLI, is it the Common Language
Infrastructure?
With this one email, many of us will not know what prompted this message
of yours. In almost every case where you see “CLI” used in the Ruby
community, however, I rather suspect you’ll find it refers to “Command
Line Interface”, as Robert K. already pointed out.
I made a similar mistaken assumption when I was new to Unix-like
operating systems – thinking CLI referred to something other than the
shell.
-----Messaggio originale-----
Da: Kaye Ng [mailto:[email protected]]
Inviato: venerd 11 novembre 2011 08:37
A: ruby-talk ML
Oggetto: CLI, what is it?
Thanks guys!
Hey Luis and other experts, I would really appreciate it if you could be
more specific about certain names. Like CLI, is it the Common Language
Infrastructure?