Confusion About Required Gems

Hi,

Finally got around to upgrading from 1.1 to 2.0 - can't wait to check it out - thanks!

When I fire up "Settings" it says the following, along with an "Attach/Install" button:

Gems required for project are not attached:
win32console (>= 1.2.0)
treetop
aslakhellesoy-ansicolor (>= 1.0)
spork (>= 0.5.9)

Specific Questions:
==============
1) I'm running Linux; why does it say I need win32console?
2) I have Cucumber and RSpec installed, which I think leads to two of the gems:
a) The Cucumber doc says I need to install the term-ansicolor gem, which I have. I assume the aslakhellesoy-ansicolor gem is related; if so, why is it listed instead of term-ansicolor?
b) The Cucumber doc says I need to install the treetop gem, which I have (it appears in a "gem list" command) - so why is it listed?
3) It appears spork is for RSpec. I didn't upgrade RSpec or Cucumber along with RubyMine 2.0. Don't know why spork is listed, but I guess I can install it.

General Questions:
==============
1) When you list the gems is there any way you can tell us what they are for?
2) I assume the "Attach/Install" button will install all gems. I could be wrong; it could fire up a dialog box with checkmarks next to each gem. However, there is no "..." after the label indicating a dialog box will pop up, so I'd hate to have this go ahead and re-install the treetop gem which I already have. Does this button pop up a dialog box that lets us select which gems to install?

Thanks,
Larry

2 comments
Comment actions Permalink

Hi Larry,

thank you for your feedback, it's very important for us.

RubyMine scans your sources(including gem specifications) and looks for gem command to determine which gems are used for your application. Sometimes this call is somewhere inside the conditional statement, but there's no sure way to tell if it really requires or not. So, all these gems are listed as required, but you may mark them as not needed. Attach/Install button does open a dialog with list of unmet gem requirements where you can select the ones you don't want to install. Of course, there should be "..." and I've fixed it just before replying. And if you're sure you don't need some gems that are listed, you may simply remove tick in the checkbox

Also, RubyMine separates gems into attached and installed. Installed gem is not indexed by RubyMine and we cannot provide code completion and resolve for it's classes and methods unless you "attach" it to your project and it becomes indexed. So, most probably your treetop gem is simply not attached to the project.

There is no way to say why gem is required, but there is to show where it is required. In the dialog you can see which file contains corresponding gem call. This will be improved in future versions (see http://youtrack.jetbrains.net/issue/RUBY-5531).

0
Comment actions Permalink

Hi Dennis,

Sorry for the delay in getting back to you. Thanks for an excellent reply! One thing I love about your IDE (in addition to its functionality) is its support - every time I ask a question it gets answered quickly. Period. And that is great!

So far I am really liking 2.0 - you people have done an incredible job!

Thanks again,
Larry

0

Please sign in to leave a comment.