bumpspark 1.0.4 → 1.1.0

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.
@@ -19,16 +19,24 @@ Thanks to the various collaborators on _why's original post:
19
19
 
20
20
  ## Installation
21
21
 
22
- sudo gem install bruce-bumpspark --source http://gems.github.com
22
+ Since 1.1.0, bumpspark is only released on gemcutter. To install, you can setup gemcutter as your default gem source.
23
+
24
+ $ gem install gemcutter
25
+ $ gem tumble
26
+
27
+ Then you can install it:
28
+
29
+ $ gem install bumpspark
30
+
31
+ You can also just get it in one line:
32
+
33
+ $ gem install bumpspark -s http://gemcutter.org
23
34
 
24
35
  ## Usage
25
36
 
26
37
  ### From Rails
27
38
 
28
- 1. Include the gem as a dependency in `config/environment.rb`
29
-
30
- config.gem 'bruce-bumpspark', :lib => 'bumpspark', :source => 'http://gems.github.com'
31
-
39
+ 1. Include the gem as a gem dependency in `config/environment.rb`
32
40
  2. Use `bumpspark_tag` from your views or helpers, passing it the data points
33
41
  you'd like graphed.
34
42
 
data/Rakefile CHANGED
@@ -10,6 +10,7 @@ begin
10
10
  gem.email = "bruce@codefluency.com"
11
11
  gem.homepage = "http://github.com/bruce/bumpspark"
12
12
  gem.authors = ["Bruce Williams"]
13
+ gem.rubyforge_project = 'codefluency'
13
14
  # TESTING ONLY
14
15
  gem.add_development_dependency "thoughtbot-shoulda"
15
16
  gem.add_development_dependency "activesupport"
@@ -17,6 +18,7 @@ begin
17
18
  gem.add_development_dependency "rmagick"
18
19
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
19
20
  end
21
+ Jeweler::GemcutterTasks.new
20
22
  rescue LoadError
21
23
  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
22
24
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.4
1
+ 1.1.0
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{bumpspark}
8
- s.version = "1.0.4"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bruce Williams"]
12
- s.date = %q{2009-08-30}
12
+ s.date = %q{2009-10-22}
13
13
  s.description = %q{Generates transparent PNG "bumpspark"-style sparklines. Use from Ruby directly or as a Rails helper generating an image tag w/ built-in data, as conceived by whytheluckystiff.}
14
14
  s.email = %q{bruce@codefluency.com}
15
15
  s.extra_rdoc_files = [
@@ -27,18 +27,20 @@ Gem::Specification.new do |s|
27
27
  "bumpspark.gemspec",
28
28
  "lib/bumpspark.rb",
29
29
  "lib/bumpspark/formats/png.rb",
30
+ "lib/bumpspark/formats/string.rb",
30
31
  "lib/bumpspark/graph.rb",
32
+ "lib/bumpspark/scale.rb",
31
33
  "lib/bumpspark_helper.rb",
32
34
  "rails/init.rb",
33
35
  "test/bumpspark_helper_test.rb",
34
36
  "test/bumpspark_test.rb",
35
37
  "test/test_helper.rb"
36
38
  ]
37
- s.has_rdoc = true
38
39
  s.homepage = %q{http://github.com/bruce/bumpspark}
39
40
  s.rdoc_options = ["--charset=UTF-8"]
40
41
  s.require_paths = ["lib"]
41
- s.rubygems_version = %q{1.3.2}
42
+ s.rubyforge_project = %q{codefluency}
43
+ s.rubygems_version = %q{1.3.5}
42
44
  s.summary = %q{Generates "bumpspark"-style sparklines for Ruby & Rails}
43
45
  s.test_files = [
44
46
  "test/bumpspark_helper_test.rb",
@@ -68,3 +70,4 @@ Gem::Specification.new do |s|
68
70
  s.add_dependency(%q<rmagick>, [">= 0"])
69
71
  end
70
72
  end
73
+
@@ -1,4 +1,6 @@
1
1
  require File.dirname(__FILE__) << "/bumpspark/formats/png"
2
+ require File.dirname(__FILE__) << "/bumpspark/formats/string"
3
+ require File.dirname(__FILE__) << "/bumpspark/scale"
2
4
  require File.dirname(__FILE__) << "/bumpspark/graph"
3
5
 
4
6
  module Bumpspark
@@ -20,7 +20,7 @@ module Bumpspark
20
20
  private
21
21
 
22
22
  def rows
23
- normalized_numbers.inject([]) { |ary, r|
23
+ scaled_numbers.inject([]) { |ary, r|
24
24
  ary << [BLACK] * 15 << [BLACK] * 15
25
25
  ary.last[r / 9,4] = [(r > 50 and RED or GREY)] * 4
26
26
  ary
@@ -44,18 +44,7 @@ module Bumpspark
44
44
  to_check = type + data
45
45
  [data.length].pack("N") + to_check + [Zlib.crc32(to_check)].pack("N")
46
46
  end
47
-
48
- def normalized_numbers
49
- nums = numbers.empty? ? [0] : numbers
50
- min, max = nums.min, nums.max
51
- width = max - min
52
- return [1] * nums.size if width == 0
53
- width += (300 * 1000)
54
- nums.map do |result|
55
- ((result - min) * 100 / width.to_f).to_i
56
- end
57
- end
58
-
47
+
59
48
  end
60
49
 
61
50
  end
@@ -0,0 +1,16 @@
1
+ module Bumpspark
2
+
3
+ module Formats
4
+
5
+ module String
6
+
7
+ # Generate a string
8
+ def to_s
9
+ scaled_numbers.join(', ')
10
+ end
11
+
12
+ end
13
+
14
+ end
15
+
16
+ end
@@ -2,11 +2,14 @@ module Bumpspark
2
2
 
3
3
  class Graph
4
4
 
5
+ include Scale
5
6
  include Formats::PNG
7
+ include Formats::String
6
8
 
7
- attr_reader :numbers
8
- def initialize(numbers)
9
+ attr_reader :numbers, :scale
10
+ def initialize(numbers, scale = 1)
9
11
  @numbers = numbers
12
+ @scale = 1
10
13
  end
11
14
 
12
15
  end
@@ -0,0 +1,18 @@
1
+ module Bumpspark
2
+
3
+ module Scale
4
+
5
+ def scaled_numbers
6
+ nums = numbers.empty? ? [0] : numbers
7
+ min, max = nums.min, nums.max
8
+ width = max - min
9
+ return [1] * nums.size if width == 0
10
+ width = width * @scale
11
+ nums.map do |result|
12
+ ((result - min) * 100 / width.to_f).to_i
13
+ end
14
+ end
15
+
16
+ end
17
+
18
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bumpspark
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruce Williams
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-30 00:00:00 -07:00
12
+ date: 2009-10-22 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -72,7 +72,9 @@ files:
72
72
  - bumpspark.gemspec
73
73
  - lib/bumpspark.rb
74
74
  - lib/bumpspark/formats/png.rb
75
+ - lib/bumpspark/formats/string.rb
75
76
  - lib/bumpspark/graph.rb
77
+ - lib/bumpspark/scale.rb
76
78
  - lib/bumpspark_helper.rb
77
79
  - rails/init.rb
78
80
  - test/bumpspark_helper_test.rb
@@ -101,8 +103,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
103
  version:
102
104
  requirements: []
103
105
 
104
- rubyforge_project:
105
- rubygems_version: 1.3.2
106
+ rubyforge_project: codefluency
107
+ rubygems_version: 1.3.5
106
108
  signing_key:
107
109
  specification_version: 3
108
110
  summary: Generates "bumpspark"-style sparklines for Ruby & Rails