diff --git a/README.md b/README.md index 52d8186..ec4d6e5 100755 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ updates, but only by looking at the Geckoboard will they be able to see the othe Configuration ============= -See config.yml. Currently only text widgets supported, could be easily expanded. +See config.yml. Currently only text and geckometer widgets supported, could be easily expanded. Licence ======= diff --git a/app.rb b/app.rb index 4fdf54d..147f20b 100755 --- a/app.rb +++ b/app.rb @@ -42,6 +42,12 @@ def symbolize_keys! data = params[:widget_data].map(&:symbolize_keys!).select{|t| !t[:text].empty? } raise 'No input data' if data.empty? it_worked = Geckoboard::Push.new(params[:widget_key]).text(data) + elsif params[:widget_type] == "geckometer" + data = params[:widget_data].symbolize_keys! + # check that value, min and max are all present + missing = [:value, :min, :max].select{|i| data[i].empty?} + raise "Missing: #{missing.map(&:to_s).join(", ")}" unless missing.empty? + it_worked = Geckoboard::Push.new(params[:widget_key]).geckometer(data[:value], data[:min], data[:max]) else raise "Not supporting '#{params[:widget_type]}' widgets yet." end diff --git a/config.yml b/config.yml index 19c97ae..a2acab9 100755 --- a/config.yml +++ b/config.yml @@ -8,4 +8,8 @@ widgets: - type: text key: "10151-b0e68b44d222306de30ccbd18756310e" - label: "Single field" \ No newline at end of file + label: "Single field" + + - type: geckometer + key: "10151-f2f2979e67ce09b79804c0a082932319" + label: "Sales, $K" \ No newline at end of file diff --git a/views/index.erb b/views/index.erb index 4ff861a..465c7ed 100755 --- a/views/index.erb +++ b/views/index.erb @@ -17,21 +17,35 @@ - <% @widgets.select{|w| w['type'] == 'text'}.each do |widget| %> + <% @widgets.each do |widget| %>
- +

<%= widget['label'] %>

- <% (widget['num_pages'] || 1).times do |p| %> - " - /> + <% if widget['type'] == 'text' %> + <% (widget['num_pages'] || 1).times do |p| %> + <% input_uid = "#{widget['key']}_#{p}" %> + " + /> + <% end %> + <% elsif widget['type'] == 'geckometer' %> + <% ['value','min','max'].each do |i| %> + <%= i %> + + <% end %> <% end %> - +