This is just a quick getting started I walked through to get Sinatra going on OS-X.
sudo gem install sinatra
sudo gem install shotgun
sudo gem install haml
sudo gem install unicorn
After installing these things I created a new folder in a Rubymine Project.
New Empty Project in Rubymine
I added a Ruby Class named SinatraSingsOsx to the project. I then realized that Rubymine did not detect that I had installed Sinatra, so I did a quick find in Rubymine to find and get it synced/installed so that Rubymine was aware of the gems.
Using the gem quick install in Rubymine I chose the documentation and dependent gems.
Rubymine Gem Quick Install
Once those were synced up I added the following Ruby Code to the file I created in the project.
get '/' do
"Verified: Server is up and running!"
I then right clicked on the ruby file and selected the “Run the sinatra_singing_osx” which starts up the webrick web server and such.
Rubymine Run Page Dialog
Then navigate to http://localhost:4567 and you’ll see the results of the code.
Sinatra Web Application Running in Chrome
Now that I’ve run the application in Rubymine I wanted to do the same with Shotgun using the same Ruby code. The first thing I needed to do was stop the server running that Rubymine had launched. If you look at the bottom of the IDE you’ll see the window displaying the current server status.
Web Server Executing
On the left hand side of this status window click on the large red button. This will stop the service. To verify just scroll to the bottom of this status window and you will see the message “Process finished with exit code 1“.
Now that I had the server cleaned up and stopped, I started a terminal again and navigated to the directory that the *.rb file is in that I want to start (host/run/execute, I’m not really sure what the appropriate word would really be at this point). So once at the appropriate path (machineName:SinatraSingingOSX adron$) I typed:
shotgun -p 4567 sinatra_singing_osx.rb
Once this executes the same server that Rubymine uses, the WEBrick, will startup the application again. I launched the browser to assure this ran as expected and got the same results as if running it through Rubymine. I guess, it all really depends, want to just start building and checking things out or want to build with an IDE like Rubymine. It all really boils down to taste and what you’re working with. I’ve been going back and forth between pure text editor and IDE just to familiarize myself with both avenues of using Rails and coding with Ruby.
After the verification I hit Ctrl + C to stop the web server. This basically works on the msysgit in Windows, on OS-X, or on whatever distro of Linux you have running. The cool thing is, so does Rubymine. I figured if I was going to work toward familiarization of an IDE and using the terminal I’d use commands and IDEs that would work on whatever OS I’m running. It’s all good synergies that way. 🙂
I wanted to keep this entry pretty short. With that in mind I simply logged what I worked on while en route home on the bus one evening. So on the next bus ride I’m going to tackle getting some specific notes with Sinatra, getting this all pushed into Heroku (of course, I’m all about the Cloud, you didn’t think I’d put it up on a shared host did you!) Until then, chow.