mirror of https://github.com/apache/lucene.git
41 lines
1.2 KiB
Ruby
41 lines
1.2 KiB
Ruby
class SparklinesController < ApplicationController
|
|
|
|
# Handles requests for sparkline graphs from views.
|
|
#
|
|
# Params are generated by the sparkline_tag helper method.
|
|
#
|
|
def index
|
|
# Make array from comma-delimited list of data values
|
|
ary = []
|
|
if params.has_key?('results') && !params['results'].nil?
|
|
params['results'].split(',').each do |s|
|
|
ary << s.to_i
|
|
end
|
|
end
|
|
|
|
send_data( Sparklines.plot( ary, params ),
|
|
:disposition => 'inline',
|
|
:type => 'image/png',
|
|
:filename => "spark_#{params[:type]}.png" )
|
|
end
|
|
|
|
|
|
# Use this type of method for sparklines that can be cached. (Doesn't work with the helper.)
|
|
#
|
|
# To make caching easier, add a line like this to config/routes.rb:
|
|
# map.sparklines "sparklines/:action/:id/image.png", :controller => "sparklines"
|
|
#
|
|
# Then reference it with the named route:
|
|
# image_tag sparklines_url(:action => 'show', :id => 42)
|
|
def show
|
|
send_data(Sparklines.plot(
|
|
[42, 37, 89, 74, 70, 50, 40, 30, 40, 50],
|
|
:type => 'bar', :above_color => 'orange'
|
|
),
|
|
:disposition => 'inline',
|
|
:type => 'image/png',
|
|
:filename => "sparkline.png")
|
|
end
|
|
|
|
end
|