suranyami-tuftify 0.1.1

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/Manifest ADDED
@@ -0,0 +1,8 @@
1
+ init.rb
2
+ lib/playing_around.rb
3
+ lib/tuftify/graph.rb
4
+ lib/tuftify.rb
5
+ Manifest
6
+ Rakefile
7
+ README
8
+ README.rdoc
data/README ADDED
@@ -0,0 +1,4 @@
1
+ = Tuftify
2
+
3
+ A graphing library.
4
+
data/README.rdoc ADDED
@@ -0,0 +1,3 @@
1
+ = Tuftify
2
+
3
+ A graphing library.
data/Rakefile ADDED
@@ -0,0 +1,26 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ $:.unshift(File.dirname(__FILE__) + "/lib")
4
+ require 'hoe'
5
+ require 'echoe'
6
+ require 'tuftify'
7
+
8
+ Echoe.new('tuftify', '0.1.1') do |p|
9
+ p.description = 'A graphing library.'
10
+ p.url = 'http://github.com/suranyami/tuftify'
11
+ p.author = ["David Parry", "Ingrid Anzola"]
12
+ p.email = "david.parry@suranyami.com"
13
+ p.ignore_pattern = ["tmp/*", "nbproject/*", "nbproject/*/*"]
14
+ p.dependencies = %w[rmagick]
15
+ p.development_dependencies = []
16
+ end
17
+
18
+ desc "Generate a sample file, to test that it's working."
19
+ task :sample do
20
+ values = []
21
+ (1..10).each {|i| values << [i, rand(100)]}
22
+ g = Tuftify::Graph.new(500, 300, values)
23
+ canvas = g.draw
24
+ canvas.write('sample.jpg')
25
+ end
26
+
data/init.rb ADDED
@@ -0,0 +1,2 @@
1
+ # For Rails
2
+ require 'tuftify'
@@ -0,0 +1,56 @@
1
+ require 'rubygems'
2
+ require 'RMagick'
3
+ require 'graph'
4
+
5
+ include Magick
6
+
7
+ values = []
8
+ (1..10).each {|i| values << [i, rand(100)]}
9
+
10
+ g = Graph.new(500, 300, values)
11
+ canvas = g.draw
12
+
13
+ canvas.write('rectangle.jpg')
14
+
15
+
16
+ # Text = 'RMagick'
17
+ #
18
+ #granite = Magick::ImageList.new('granite:')
19
+ #canvas = Magick::ImageList.new
20
+ #canvas.new_image(300, 100, Magick::TextureFill.new(granite))
21
+ #
22
+ #text = Magick::Draw.new
23
+ #text.font_family = 'helvetica'
24
+ #text.pointsize = 52
25
+ #text.gravity = Magick::CenterGravity
26
+ #
27
+ #text.annotate(canvas, 0,0,2,2, Text) {
28
+ # self.fill = 'gray83'
29
+ #}
30
+ #
31
+ #text.annotate(canvas, 0,0,-1.5,-1.5, Text) {
32
+ # self.fill = 'gray40'
33
+ #}
34
+ #
35
+ #text.annotate(canvas, 0,0,0,0, Text) {
36
+ # self.fill = 'darkred'
37
+ #}
38
+ #
39
+ #canvas.write('rubyname.gif')
40
+ #exit
41
+ #
42
+ #canvas = Magick::ImageList.new
43
+ #canvas.new_image(250, 250, Magick::HatchFill.new('white', 'gray90'))
44
+ #
45
+ #circle = Magick::Draw.new
46
+ #circle.stroke('tomato')
47
+ #circle.fill_opacity(0)
48
+ #circle.stroke_opacity(0.75)
49
+ #circle.stroke_width(6)
50
+ #circle.stroke_linecap('round')
51
+ #circle.stroke_linejoin('round')
52
+ #circle.ellipse(canvas.rows/2,canvas.columns/2, 80, 80, 0, 315)
53
+ #circle.polyline(180,70, 173,78, 190,78, 191,62)
54
+ #circle.draw(canvas)
55
+ ##canvas.display
56
+
@@ -0,0 +1,37 @@
1
+ require 'rubygems'
2
+ require 'RMagick'
3
+
4
+ module Tuftify
5
+ # Basic Graph class.
6
+ class Graph
7
+ include Magick
8
+ attr_accessor :width, :height, :values
9
+
10
+ def initialize(width, height, values = nil)
11
+ @width = width
12
+ @height = height
13
+ @values = values
14
+ end
15
+
16
+ def draw
17
+ canvas = Magick::ImageList.new
18
+ canvas.new_image(@width, @height) { self.background_color = 'white'}
19
+ max_value = @values.collect {|v| v[1]}.max
20
+
21
+ barwidth = @width / @values.length
22
+
23
+ upper_left_x = 0
24
+
25
+ @values.each do |key, value|
26
+ rect = Magick::Draw.new
27
+ h = @height / max_value * value
28
+ rect.fill('white')
29
+ rect.stroke('black')
30
+ rect.rectangle(upper_left_x, @height, upper_left_x + barwidth, @height - h)
31
+ upper_left_x += barwidth
32
+ rect.draw(canvas)
33
+ end
34
+ return canvas
35
+ end
36
+ end
37
+ end
data/lib/tuftify.rb ADDED
@@ -0,0 +1,2 @@
1
+ require 'tuftify'
2
+ require 'tuftify/graph'
data/tuftify.gemspec ADDED
@@ -0,0 +1,33 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{tuftify}
5
+ s.version = "0.1.1"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["David Parry, Ingrid Anzola"]
9
+ s.date = %q{2009-05-29}
10
+ s.description = %q{A graphing library.}
11
+ s.email = %q{david.parry@suranyami.com}
12
+ s.extra_rdoc_files = ["lib/playing_around.rb", "lib/tuftify/graph.rb", "lib/tuftify.rb", "README", "README.rdoc"]
13
+ s.files = ["init.rb", "lib/playing_around.rb", "lib/tuftify/graph.rb", "lib/tuftify.rb", "Manifest", "Rakefile", "README", "README.rdoc", "tuftify.gemspec"]
14
+ s.homepage = %q{http://github.com/suranyami/tuftify}
15
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Tuftify", "--main", "README"]
16
+ s.require_paths = ["lib"]
17
+ s.rubyforge_project = %q{tuftify}
18
+ s.rubygems_version = %q{1.3.3}
19
+ s.summary = %q{A graphing library.}
20
+
21
+ if s.respond_to? :specification_version then
22
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
+ s.specification_version = 3
24
+
25
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
+ s.add_runtime_dependency(%q<rmagick>, [">= 0"])
27
+ else
28
+ s.add_dependency(%q<rmagick>, [">= 0"])
29
+ end
30
+ else
31
+ s.add_dependency(%q<rmagick>, [">= 0"])
32
+ end
33
+ end
metadata ADDED
@@ -0,0 +1,79 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: suranyami-tuftify
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - David Parry, Ingrid Anzola
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-05-29 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rmagick
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ description: A graphing library.
26
+ email: david.parry@suranyami.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - lib/playing_around.rb
33
+ - lib/tuftify/graph.rb
34
+ - lib/tuftify.rb
35
+ - README
36
+ - README.rdoc
37
+ files:
38
+ - init.rb
39
+ - lib/playing_around.rb
40
+ - lib/tuftify/graph.rb
41
+ - lib/tuftify.rb
42
+ - Manifest
43
+ - Rakefile
44
+ - README
45
+ - README.rdoc
46
+ - tuftify.gemspec
47
+ has_rdoc: false
48
+ homepage: http://github.com/suranyami/tuftify
49
+ post_install_message:
50
+ rdoc_options:
51
+ - --line-numbers
52
+ - --inline-source
53
+ - --title
54
+ - Tuftify
55
+ - --main
56
+ - README
57
+ require_paths:
58
+ - lib
59
+ required_ruby_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: "1.2"
70
+ version:
71
+ requirements: []
72
+
73
+ rubyforge_project: tuftify
74
+ rubygems_version: 1.2.0
75
+ signing_key:
76
+ specification_version: 3
77
+ summary: A graphing library.
78
+ test_files: []
79
+