SinatraBicyclist
This is a fork of SinatraCyclist. It adds functionality to have more than one cycling loops.
So you can have /_cycle/apps
and /_cycle/ops
to loop through different pages.
Installation
Add this line to your application's Gemfile:
gem 'sinatra_bicyclist'
And then execute:
$ bundle
Or install it yourself as:
$ gem install sinatra_bicyclist
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
beforedashing
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
Advanced Usage
If you want to have different cycles for different dashboards you can define:
set :routes_to_cycle_through, {
applications: [:dash1, :dash2, :dash3],
operations: [:dash4, :dash5, :dash6]
}
Then visiting /_cycle/applications
will go just through dashboards dash1, dash2 and dash3.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request