leftronic 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/{README → README.md} +24 -7
- data/lib/leftronic.rb +12 -3
- data/lib/leftronic/version.rb +1 -1
- metadata +3 -3
data/{README → README.md}
RENAMED
@@ -1,14 +1,24 @@
|
|
1
|
+
Leftronic
|
2
|
+
=========
|
1
3
|
A simple interface for the Leftronics dashboard
|
4
|
+
|
2
5
|
Leftronics is a dashboard-as-a-service. It supports five custom data update types:
|
3
6
|
|
4
|
-
leaderboard(name, entries)
|
5
|
-
list(name, entries)
|
6
|
-
map(name, latitude, longitude)
|
7
|
-
number(name, number)
|
8
|
-
text(name, title, text)
|
7
|
+
* leaderboard(name, entries)
|
8
|
+
* list(name, entries)
|
9
|
+
* map(name, latitude, longitude)
|
10
|
+
* number(name, number)
|
11
|
+
* text(name, title, text)
|
12
|
+
|
13
|
+
Installation
|
14
|
+
============
|
15
|
+
|
16
|
+
gem install leftronic
|
9
17
|
|
10
|
-
Example
|
18
|
+
Example Usage
|
19
|
+
=============
|
11
20
|
|
21
|
+
require 'rubygems' # Not necessary in ruby 1.9.2
|
12
22
|
require 'leftronic'
|
13
23
|
dashboard = Leftronic.new("my-leftronic-api-key")
|
14
24
|
dashboard.leaderboard("top_deployed", [{"engine" => 200}, {"mockr" => 15}, {"fatfreecrm" => 59}])
|
@@ -17,6 +27,13 @@ Example usage:
|
|
17
27
|
dashboard.number("app_count", 5000)
|
18
28
|
dashboard.text("MongoDB Server up")
|
19
29
|
|
20
|
-
License:
|
21
30
|
|
31
|
+
TODO
|
32
|
+
====
|
33
|
+
|
34
|
+
* Accept a block for Leftronic#leaderboard and Leftronic#list to have better control over how the top 12 get picked
|
35
|
+
* Change Leftronic#leaderboard entries format from [{:a => "0"}, {:b => "1"}] to {:a => "0", :b => "1"}
|
36
|
+
|
37
|
+
LICENSE
|
38
|
+
=======
|
22
39
|
MIT
|
data/lib/leftronic.rb
CHANGED
@@ -39,24 +39,33 @@ class Leftronic
|
|
39
39
|
|
40
40
|
# Push a new leaderboard
|
41
41
|
# Entries is a hash of the form {:key_name_1 => :value, :key_name_2 => :value}
|
42
|
+
# Sorts by value, and then pushes the top 12
|
42
43
|
def leaderboard(name, entries)
|
43
44
|
values = []
|
44
45
|
|
45
46
|
entries.each do |hash|
|
46
47
|
hash.each_pair do |key, value|
|
47
|
-
values << {"name" => key, "value" => value}
|
48
|
+
values << {"name" => key.to_s, "value" => value}
|
48
49
|
end
|
49
50
|
end
|
50
51
|
|
51
|
-
|
52
|
+
values = values.sort do |a, b|
|
53
|
+
if b.nil?
|
54
|
+
a
|
55
|
+
else
|
56
|
+
a["value"] <=> b["value"]
|
57
|
+
end
|
58
|
+
end[0..11]
|
59
|
+
|
52
60
|
push(name, {"leaderboard" => values})
|
53
61
|
end
|
54
62
|
|
55
63
|
|
56
64
|
# Push a list
|
57
65
|
# Entries is simply an array
|
66
|
+
# Only pushes the first 12 items of the list
|
58
67
|
def list(name, entries)
|
59
|
-
values = entries.collect do |item|
|
68
|
+
values = entries[0..11].collect do |item|
|
60
69
|
{"listItem" => item}
|
61
70
|
end
|
62
71
|
|
data/lib/leftronic/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: leftronic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Sean Grove
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-06-
|
13
|
+
date: 2011-06-09 00:00:00 -07:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -47,7 +47,7 @@ extra_rdoc_files: []
|
|
47
47
|
files:
|
48
48
|
- .gitignore
|
49
49
|
- Gemfile
|
50
|
-
- README
|
50
|
+
- README.md
|
51
51
|
- Rakefile
|
52
52
|
- leftronic.gemspec
|
53
53
|
- lib/leftronic.rb
|