Skip to content

Commit

Permalink
[IOSP-389] Setting up RubyMine (#293)
Browse files Browse the repository at this point in the history
* Create RubyMine.md

* Update RubyMine.md

* Update README.md

* Apply suggestions from code review

* Apply suggestions from code review

Co-Authored-By: Daniel Spindelbauer <[email protected]>
  • Loading branch information
ilyapuchka and Daniel Spindelbauer authored Dec 8, 2019
1 parent 2696c93 commit 637d710
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 0 deletions.
1 change: 1 addition & 0 deletions Cookbook/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,4 @@ iOS Cookbook 👩‍🍳
* [Xcode Tips & Tricks](Technical-Documents/XcodeTips.md)
* [Configure PullAssigner on our repos](Technical-Documents/PullAssigners.md)
* [App Center](Technical-Documents/AppCenter.md)
* [RubyMine](Technical-Documents/RubyMine.md)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions Cookbook/Technical-Documents/RubyMine.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# RubyMine

If you have to work with Ruby, i.e. to update our fastlane setup, you better use an IDE that comes with some quality of life tools other than syntax higlighting.
We are extensively using JetBrains products in the company so our license includes such Ruby IDE as RubyMine.

To install it, go to the [JetBrains website](https://www.jetbrains.com/ruby/download/#section=mac) to download the macOS app.
When asked about license enter the address of our license service. The service address is in 1Password. This service is only available from the office network or via VPN.

![](Assets/RubyMineLicense.png)

Then open the root folder of our project. As most of the files are not in Ruby, the IDE will spend a lot of time trying to index files we don't need.
To avoid that, go to **Preferences -> Project Structure** and select all the folders except `fastlane` as **excluded**.

![](Assets/RubyMinePreferences.png)

This will allow RubyMine to discover Ruby Gems that we have defined in the Gemfile in the root directory and only index fastlane files.

Now RubyMine will give you a hand with code completion for standard Ruby functions. It will understand imports of gems with `require`, suggest you fixes for syntax errors
, and other common errors like missing parameters. If you enable scanning with RuboCop, it can also lint your code style.

NOTE: still couldn't find a way for it to understand imports of Fastlane types, i.e. `include FastlaneCore`, and to provide code completion on other fastlane internal types.

0 comments on commit 637d710

Please sign in to comment.