Next RubyMine Nire EAP: Rails Engines and Mongoid Support

Hello everyone,

I’m glad to announce the next RubyMine Nire EAP build (118.614) is ready to try out. We have some new cool features I want to tell you about.

Rails Engines Support

Many of you might like and use Rails Engines, miniature Rails applications that can be embedded into your main application. We think they’re a great idea so we now support them in RubyMine.

First of all you can create your own new mountable engine just like you create a new Rails app:

Then you can use all the IDE power for developing and running/debugging your engine (don’t forget to fill in the “Dummy app” field in your run configuration with a path to test/dummy directory):

And finally you can add your engine to the main app:

Mongoid/MongoDB Support

We have good news for those who prefer non-SQL open source MongoDB to other DB-s. From today we support Mongoid, an Object-Document-Mapper for MongoDB written in Ruby.

Debugging Features

This build also brings new debugging features such as IRB/Rails Console Debug and Multi Process Debug. The first one allows for running IRB/Rails Console in a debug mode. The second one allows for attaching to sub-processes automatically while debugging.

For more details and screenshots please take a look on release notes. For download please visit RubyMine Nire EAP page.

Looking forward for your feedback!


Develop with pleasure!
JetBrains RubyMine Team

This entry was posted in Announcement, Better Code, Cutting Edge, WhatsMining and tagged , , , . Bookmark the permalink.

11 Responses to Next RubyMine Nire EAP: Rails Engines and Mongoid Support

  1. Fabio says:

    Is there any way to convert an existing project which is already a mountable engine? How should I create the dummy app, does RM do it for me?

    BTW great addition to an already excellent IDE.

    • Dennis Ushakov says:

      Your existing can be simply opened with RubyMine and it should pick it up. If it doesn’t work you can remove .idea folder and reopen your project. Dummy application is generated automatically by Rails generator in test/dummy. If you need to often create it in different locations, feel free to submit a feature request.

  2. Anna Kutarba says:

    Please open your project using File | Open Directory. RubyMine provides the ability to set the load path for Dummy app in the run configuration.

  3. tbys says:

    Wow, nice to see engine support added to RM, and this soon too!

    I am currently participating in a project where we are developing an app which is comprised of the main app and 5 engines.

    fooapp (main app resides here)
    vendor
    fooapp
    foo_engine
    bar_engine
    baz_engine

    Each engine is loaded as a gem. I often work on different engines at the same time, so I need to see all the engines at the same time.

    Can you give a hint as to how I should work with this project in RM?

  4. tbys says:

    Oh, I can’t use pre tags apparently, so I’ll try with some line art :)

    fooapp (main app resides here)
    -vendor
    –fooapp
    —foo_engine
    —bar_engine
    —baz_engine

    • Tatiana Vasilyeva says:

      Unfortunately you can’t edit your engines under the main app so far. So you need to open all your engines as separate projects for development. Could you please add a feature request to our tracker? Or you can vote for this one, if you think it solves your case.

      • tbys says:

        Thank you for your answer.

        I am a bit confused (not by your reply, but about engines under RM in general).

        I am currently working on the project that I described, and most things are working alright so far. So what do you mean by “you can’t edit your engines under the main app”?

        Could you perhaps go a bit more into details about what exactly “support for engines” means in RM?

        • Tatiana Vasilyeva says:

          You can edit your engine gem code under the main app, but you can’t run tests or add new gems dependencies for it. If you want to develop engine with the whole bench of RubyMine features you need to open it in a separate window. Support for engines in RM means you can create your own new engine or open an existing one and RM will be aware of its structure, so you can use code insight, testing, debugging and running opportunities.

          • tbys says:

            Aha, so testing and debugging and running is not working properly? That is indeed the case for me, at least they don’t work on engine level, so things are starting to make sense. Thanks for clearing things up a bit for me.

  5. I have existing engine with the dummy app in test/dummy. Even though there’s a test/dummy/script/rails, when I try to run the server in RubyMine it complains that that exact pathname does not exist.

    • Dennis Ushakov says:

      This is a bug, I’ve fixed it and fix will be available in the next public build. You can use absolute path as a workaround

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>