Skip to content
The wheels keep on spinning round, spinning round, spinning round
Find file
New pull request
Latest commit 0cc84aa Joe Ferris and Mike Burns committed with jferris Bumping
Failed to load latest commit information.
lib Bumping
spec Automatically load all listeners
Gemfile Now it's a gem
LICENSE Now it's a gem A little documentation
Rakefile Now it's a gem
turning.gemspec Update authors


A tiny framework to render views whenever data changes rather than re-rendering on every visit.


Create a listener:

# app/listeners/products_listener.rb
class ProductsListener < Turning::Listener
  def listen
    Product.on(:save) do |product|
      render 'show', product_path(product), product: product

Whenever a Product is saved, it will render the app/views/products/show.html.erb view and save it in public/static. A Rack middleware is included and autoconfigured to serve static pages from that directory.


Add this line to your application's Gemfile:

gem 'turning'

And then execute:

$ bundle

Or install it yourself as:

$ gem install turning


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new pull request
Something went wrong with that request. Please try again.