Cycle through Sinatra routes at a regular duration.
Ruby
Latest commit 5f29d56 Sep 10, 2013 @vrish88 update gem version
Permalink
Failed to load latest commit information.
examples move examples to examples directory Nov 25, 2012
lib/sinatra update gem version Sep 11, 2013
.gitignore ignore ruby mine files Nov 24, 2012
Gemfile initial commit Nov 24, 2012
LICENSE initial commit Nov 24, 2012
README.md reorganize readme Nov 29, 2012
Rakefile initial commit Nov 24, 2012
sinatra_cyclist.gemspec fill in gemspec info Nov 24, 2012

README.md

SinatraCyclist

Installation

Add this line to your application's Gemfile:

gem 'sinatra_cyclist'

And then execute:

$ bundle

Or install it yourself as:

$ gem install sinatra_cyclist

Installation into your code depends on how you are using Sinatra.

Dashing

If you are using dashing update your config.ru to look something like:

require "sinatra/cyclist"
require 'dashing'

configure do
  set :auth_token, 'YOUR_AUTH_TOKEN'

  helpers do
    def protected!
     # Put any authentication code you want in here.
     # This method is run before accessing any resource.
    end
  end
end

map Sinatra::Application.assets_prefix do
  run Sinatra::Application.sprockets
end

set :routes_to_cycle_through, [:dashboard_1, :dashboard_2]

run Sinatra::Application
  • Require sinatra_cyclist before dashing otherwise you will see this error:

    No such file or directory - sample/dashboards/_cycle.erb

  • Set the routes_to_cycle_through before running the application.

Classic Applications

Require the gem and specify the routes you want to cycle through.

require "sinatra"
require "sinatra/cyclist"

set :routes_to_cycle_through, [:page_1, :page_2]

get "/page_1" do
  "Page 1"
end

get "/page_2" do
  "Page 2"
end

Modular Applications

Require the gem, explicitly register the extension, and specify the routes.

require "sinatra/base"
require "sinatra/cyclist"

class MyApp < Sinatra::Base
  register Sinatra::Cyclist

  set :routes_to_cycle_through, [:page_1, :page_2]

  get "/page_1" do
    "Page 1"
  end

  get "/page_2" do
    "Page 2"
  end
end

Usage

Now visit /_cycle to start cycling!

You can also specify a duration (in seconds) in the params to the cycle action

http://sinatra_app.com/_cycle?duration=10

Contributing

  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