No commit activity in last 3 years
No release in over 3 years
Cycle through pages at a regular interval
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0

Runtime

 Project Readme

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 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

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

  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