This repository shows a basic setup for a Sinatra web application in Ruby.
Ruby and Bundler is expected to be installed on our system.
After cloning this repository, change into the newly created directory and run
bundle install
This will install all dependencies needed for the project.
All tests can be run by executing
bundle exec rspec
rspec will automatically find all tests inside the spec directory and run them.
The main Sinatra application is defined in app/Application.rb.
The tests for it use rack-test to verify that the index page can be rendered successfully.
This gem provides helper methods to exercise a Rack application during testing (e.g. get to send a GET request to the application).
Sinatra uses Rack, a standard interface for Ruby webservers, behind the scenes.
Rack applications can be configured via a file called config.ru and started with the command rackup.
When executing
bundle exec rackup
it will automatically look for the file config.ru as it is the default when no arguments were given.
When executing the above command it will print logging information similar to the following:
$: bundle exec rackup
[2017-07-13 07:20:01] INFO WEBrick 1.3.1
[2017-07-13 07:20:01] INFO ruby 2.3.1 (2016-04-26) [x86_64-linux]
[2017-07-13 07:20:01] INFO WEBrick::HTTPServer#start: pid=26153 port=9292
...
This shows that the application is running and listening on port 9292.
The host and port can also be configured via --host and --port arguments respectively.
Using a browser to navigate to http://localhost:9292 will then show the example page.
This project is licensed under the MIT License - see the license.md file for details.