One of the frequently requested features in Grape to to automatically reload code changes, much like Rails does (#131). This is actually pretty difficult to implement and requires Grape support where an API::reload! method would blow away all of the mounted features, procs, settings, etc.
For bare Rack-mounted applications we can make our life easy with Guard. Introducing guard-rack, which will rackup your Rack application on change. On a decent developer box this just takes a second or two. The implementation is heavily inspired (aka stolen) from guard-rails.
For a typical Rack application, including one that uses Grape, add guard, guard-bundler (to watch Gemfile changes) and guard-rack to Gemfile.
- group :development do
- gem "guard"
- gem "guard-bundler"
- gem "guard-rack"
Create a Guardfile. Watch the folders of your application.
- guard 'bundler' do
- guard 'rack' do
Run with bundle exec guard. Watch rackup happen every time you change files.
I’ve added this to my grape-on-rack demo.