samhendley-scruffy 0.2.8 → 0.2.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,7 +8,7 @@ module Scruffy
8
8
  attr_accessor :markers
9
9
 
10
10
  def draw(svg, bounds, options={})
11
- if (options[:point_markers].nil? || options[:point_markers].empty?) && options[:calculate_markers]
11
+ if options[:calculate_markers] && (options[:point_markers].nil? || options[:point_markers].empty?)
12
12
  markers = (options[:markers] || self.markers) || 5
13
13
  options[:point_markers] = []
14
14
  each_marker(markers, options[:min_key], options[:max_key], bounds[:width], options, :key_formatter) do |label, x|
@@ -209,5 +209,22 @@ module Scruffy::Formatters
209
209
  end
210
210
  end
211
211
  end
212
+
213
+
214
+ class Date < Base
215
+
216
+ def initialize(format_string, options = {})
217
+ @format_string = format_string
218
+ end
219
+
220
+ # Formats percentages.
221
+ def format(target, idx, options)
222
+ begin
223
+ target.strftime(@format_string)
224
+ rescue
225
+ target
226
+ end
227
+ end
228
+ end
212
229
 
213
230
  end
data/lib/scruffy/graph.rb CHANGED
@@ -116,7 +116,7 @@ module Scruffy
116
116
  self.value_formatter = Scruffy::Formatters::Number.new
117
117
  self.key_formatter = Scruffy::Formatters::Number.new
118
118
 
119
- %w(title theme layers default_type value_formatter point_markers rasterizer).each do |arg|
119
+ %w(title theme layers default_type value_formatter point_markers rasterizer key_formatter).each do |arg|
120
120
  self.send("#{arg}=".to_sym, options.delete(arg.to_sym)) unless options[arg.to_sym].nil?
121
121
  end
122
122
 
@@ -7,7 +7,7 @@ module Scruffy::Helpers
7
7
 
8
8
  (0...markers).each do |idx|
9
9
  percent = idx.to_f / (markers-1)
10
- all_values << (max - min) * percent + min
10
+ all_values << min + (max - min) * percent
11
11
  end
12
12
 
13
13
  all_values.size.times do |idx|
@@ -162,8 +162,8 @@ module Scruffy::Layers
162
162
  ret = []
163
163
  points.each_point do |x, y|
164
164
  if y
165
- x_coord = dx * (x.to_f - options[:min_key])
166
- y_coord = dy * (y.to_f - options[:min_value])
165
+ x_coord = dx * (x - options[:min_key])
166
+ y_coord = dy * (y - options[:min_value])
167
167
 
168
168
  ret << [x_coord, height - y_coord]
169
169
  end
@@ -2,7 +2,7 @@ module Scruffy
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 8
5
+ TINY = 9
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -117,4 +117,18 @@ class GraphCreationTest < Test::Unit::TestCase
117
117
  graph.render :to => "#{WEBSITE_DIR}/scatter_test.svg"
118
118
  graph.render :width => 500, :to => "#{WEBSITE_DIR}/scatter_test.png", :as => 'png' if $make_png
119
119
  end
120
+
121
+ def test_scatter_by_date
122
+ graph = Scruffy::Graph.new
123
+ graph.title = "Some Kind of Information"
124
+ graph.renderer = Scruffy::Renderers::Standard.new
125
+ graph.key_formatter = Scruffy::Formatters::Date.new("%H:%M")
126
+ h = {}
127
+ start = Time.local(2009, 1, 20, 12, 0, 0)
128
+ 30.times{|i| h[start + 60*i] = i*i}
129
+
130
+ graph.add :scatter, 'DNI', h
131
+ graph.render :to => "#{WEBSITE_DIR}/scatter_date_test.svg", :calculate_markers => true
132
+ graph.render :width => 500, :to => "#{WEBSITE_DIR}/scatter_date_test.png", :as => 'png' if $make_png
133
+ end
120
134
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: samhendley-scruffy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brasten Sager
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2008-12-28 21:00:00 -08:00
14
+ date: 2009-01-22 21:00:00 -08:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency