X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/1620856a8a47219f3a2cbb5288137b11467886fc..a16962155a3c3c6616bfe32c7216f3631836d38c:/vendor/plugins/sparklines/generators/sparklines/templates/controller.rb diff --git a/vendor/plugins/sparklines/generators/sparklines/templates/controller.rb b/vendor/plugins/sparklines/generators/sparklines/templates/controller.rb new file mode 100644 index 0000000..1c69f29 --- /dev/null +++ b/vendor/plugins/sparklines/generators/sparklines/templates/controller.rb @@ -0,0 +1,40 @@ +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