Skip to content
A Ruby web framework where your Ruby runs on both server and client
Branch: master
Clone or download
Latest commit f942b92 Jan 12, 2016
Type Name Latest commit message Commit time
Failed to load latest commit information.
app/volt Working on app properties. Oct 28, 2015
docs Minor changes to message bus for redis message bus strategy gem. Oct 28, 2015
lib fix scrolling to fragment issue Nov 18, 2015
spec Fixing password reset Nov 3, 2015
templates Fixing password reset Nov 3, 2015
.gitignore Add data transformer class Oct 10, 2015
.rspec Initial commit Jan 10, 2014
.rubocop.yml Working on rubocop May 6, 2015
.travis.yml add mongo service for travis Mar 25, 2015 Docs for sendfile Oct 25, 2015 Update Code of Conduct to Contributor Covenant 1.1.0 Jun 20, 2015 Caveat May 6, 2015
Guardfile Run rubocop auto-corrections. Lots of changes! Oct 20, 2014
LICENSE.txt Initial commit Jan 10, 2014 Update gemspec and readme Oct 20, 2015
Rakefile Allow for multiple instances of Volt::App May 19, 2015
volt.gemspec Update gemspec and readme Oct 20, 2015

Pledgie Gem Version Code Climate Coverage StatusBuild Status Inline docs License

For the current status of Volt, read:

Volt is a Ruby web framework where your Ruby code runs on both the server and the client (via Opal). The DOM automatically updates as the user interacts with the page. Page state can be stored in the URL. If the user hits a URL directly, the HTML will first be rendered on the server for faster load times and easier indexing by search engines. Subsequent local page interactions will be rendered on the client.

Instead of syncing data between the client and server via HTTP, Volt uses a persistent connection between the client and server. When data is updated on one client, it is updated in the database and any other listening clients (with almost no setup code needed).

Page HTML is written in a templating language where you can put Ruby between {{ and }}. Volt uses data flow/reactive programming to automatically and intelligently propagate changes to the DOM (or to any other code that wants to know when a value has changed). When something in the DOM changes, Volt intelligently updates only the DOM nodes that need to be changed.

See some demo videos here:

Check out demo apps:

For a full list of all things volt, check out awesome-volt


Read the full docs on Volt here

There is also a work in progress tutorial by @rhgraysonii

More Videos

Rick Carlino has been putting together some great volt tutorial videos also.

@ahnbizcad maintains a playlist of Volt related videos.

Getting Help

Have a question and need help? The volt team watches stackoverflow for questions and will get back to you quickly. Be sure to post the question with the #voltrb tag. If you have something you'd like to discuss, drop into our gitter room.


You want to contribute? Great! Thanks for being awesome! At the moment, we have a big internal todo list. Please hop on so that we don't duplicate work. Pull requests are always welcome, but asking about helping on Gitter should save some duplication.


VoltFramework is currently a labor of love mainly built by a small group of core developers. Donations are always welcome and will help Volt get to production faster :-) Also, if you or your company is interested in sponsoring Volt, please talk to @ryanstout in gitter.


Bitcoins can also be sent to 1AYiL3MiSVe2QFyexzozUvFFH7uGCJgJMZ

You can’t perform that action at this time.