Project

ducksboard

0.03
No commit activity in last 3 years
No release in over 3 years
Ruby API wrapper for ducksboard realtime dashboard using HTTParty
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 4.6.2
~> 10.0

Runtime

>= 0.8.1, ~> 0.8
 Project Readme

Ducksboard API Ruby wrapper

Configuration

API Key can be set in the environment

export DUCKSBOARD_API_KEY='YOURKEY'

or in an initializer

Ducksboard.api_key = 'YOURKEY'

Box

widget = Ducksboard::Box.new(1234) # Widget numeric id
widget.value = 10
widget.save

Counter

widget = Ducksboard::Counter.new(1234)
widget.value = 10
widget.save

Image

widget = Ducksboard::Image.new(1235)
widget.source = "https://dashboard.ducksboard.com/static/accounts/img/logo_small.png"
# or
widget.source = "~/Pictures/logo.png"
widget.caption = "Ducksboard logo!"
widget.timestamp = 1310649204
widget.save

Gauge

widget = Ducksboard::Gauge.new(1235)
widget.value = 0.93
widget.save

Graph

# remember that the graph widgets need atleast 2 points before it displays anything
widget = Ducksboard::Graph.new(1236)
widget.timestamp = Time.now.to_i
widget.value = 198
widget.save

Pin

widget = Ducksboard::Pin.new(1234)
widget.value = 10
widget.save

Timeline

widget = Ducksboard::Timeline.new(1237)
widget.title = "A Title"
widget.image = "http://url.to.io/some_image.gif"
# or
widget.image = :edited
# any of the following as a string or symbol: orange, red, green, created, edited or deleted
widget.content = "text content"
widget.link = "http://google.com"

Leaderboard

widget1 = Ducksboard::Leaderboard.new(56803)
widget1.linha = [{"name" => 'Titulo 1', "values" => [12,13,14]}, 
                 {"name" => 'Titulo 2', "values" => [12,13,142]},
                 ]
widget1.save

Pull API

# You can use the HTTP Pull API to retrieve historical data from any widget.
# It will be returned in a map as per the API (http://dev.ducksboard.com/apidoc/pull-api-http)

widget = Ducksboard::Gauge.new(1235)
data = widget.since(300)['data']
# or
data = widget.last_values(15)
# or
data = widget.timespan(:daily, "Europe/London")