sparklines 0.4.4 → 0.4.5

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/CHANGELOG CHANGED
@@ -1,3 +1,11 @@
1
+ == 0.4.5
2
+
3
+ * Several fixes by Rob Biedenharn
4
+ * lib/sparklines_helper.rb: Include example code for generating "data:" URLs (but leave it commented out due to lack of widespread testing)
5
+ * lib/sparklines_helper.rb: allow results to be passed in the options hash (i.e., sparkline_tag(nil, :results => [ ... ], ...))
6
+ * lib/sparklines.rb: Move calculation of whisker endpoints out of loop
7
+ * lib/sparklines.rb: Fix fencepost bug in whisker that caused plot to be 1 pixel short
8
+
1
9
  == 0.4.4
2
10
 
3
11
  * Fixed stddev rounding bug [Andrew Nutter-Upham]
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ Hoe.new('Sparklines', Sparklines::VERSION) do |p|
11
11
  p.email = 'boss@topfunky.com'
12
12
  p.summary = "Tiny graphs."
13
13
  p.url = "http://nubyonrails.com/pages/sparklines"
14
- p.clean_globs = ['test/output/*']
14
+ p.clean_globs = ['test/output'] # Remove this directory on "rake clean"
15
15
  p.remote_rdoc_dir = '' # Release to root
16
16
  p.changes = p.paragraphs_of('CHANGELOG', 0..1).join("\n\n")
17
17
  # * extra_deps - An array of rubygem dependencies.
data/lib/sparklines.rb CHANGED
@@ -74,7 +74,7 @@ Licensed under the MIT license.
74
74
  =end
75
75
  class Sparklines
76
76
 
77
- VERSION = '0.4.4'
77
+ VERSION = '0.4.5'
78
78
 
79
79
  @@label_margin = 5.0
80
80
  @@pointsize = 10.0
@@ -463,11 +463,13 @@ class Sparklines
463
463
  height = @options[:height].to_f
464
464
  background_color = @options[:background_color]
465
465
 
466
- create_canvas((@data.size - 1) * 2, height, background_color)
466
+ create_canvas(@data.size * 2 - 1, height, background_color)
467
467
 
468
468
  whisker_color = @options[:whisker_color] || 'black'
469
469
  exception_color = @options[:exception_color] || 'red'
470
470
 
471
+ on_row = (@canvas.rows/2.0 - 1).ceil
472
+ off_row = (@canvas.rows/2.0).floor
471
473
  i = 0
472
474
  @data.each do |r|
473
475
  color = whisker_color
@@ -476,7 +478,7 @@ class Sparklines
476
478
  color = exception_color
477
479
  end
478
480
 
479
- y_mid_point = (r >= 1) ? (@canvas.rows/2.0 - 1).ceil : (@canvas.rows/2.0).floor
481
+ y_mid_point = (r >= 1) ? on_row : off_row
480
482
 
481
483
  y_end_point = y_mid_point
482
484
  if ( r > 0)
@@ -1,3 +1,4 @@
1
+ require 'base64'
1
2
  # Provides a tag for embedding sparklines graphs into your Rails app.
2
3
  #
3
4
  module SparklinesHelper
@@ -8,11 +9,20 @@ module SparklinesHelper
8
9
  #
9
10
  # You can also pass :class => 'some_css_class' ('sparkline' by default).
10
11
  def sparkline_tag(results=[], options={})
11
- url = { :controller => 'sparklines',
12
- :results => results.join(',') }
12
+ url = { :controller => 'sparklines' }
13
+ url[:results] = results.join(',') unless results.nil?
13
14
  options = url.merge(options)
15
+ attributes = %(class="#{options[:class] || 'sparkline'}" alt="Sparkline Graph" )
16
+ attributes << %(title="#{options[:title]}" ) if options[:title]
17
+
18
+ # prefer to use a "data" URL scheme as described in {RFC 2397}[http://www.ietf.org/rfc/rfc2397.txt]
19
+ # data_url = "data:image/png;base64,#{Base64.encode64(Sparklines.plot(results,options))}"
20
+ # tag = %(<img src="#{data_url}" #{attributes}/>)
21
+
22
+ # # respect some limits noted in RFC 2397 since the data: url is supposed to be 'short'
23
+ # data_url.length <= 1024 && tag.length <= 2100 ? tag :
24
+ %(<img src="#{ url_for options }" #{attributes}/>)
14
25
 
15
- %(<img src="#{ url_for options }" class="#{options[:class] || 'sparkline'}" alt="Sparkline Graph" />)
16
26
  end
17
27
 
18
28
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: sparklines
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.4.4
7
- date: 2007-06-15 00:00:00 -07:00
6
+ version: 0.4.5
7
+ date: 2007-06-18 00:00:00 -07:00
8
8
  summary: Tiny graphs.
9
9
  require_paths:
10
10
  - lib