suranyami-tuftify 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
+