plot_simple 0.1.3 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,22 @@
1
+ <chart>
2
+ <grid>
3
+ <title><%= chart.title.to_s%></title>
4
+ <background>transparent</background>
5
+ <borderColor><%=chart.borderColor.to_s%></borderColor>
6
+ <lineColor><%=chart.lineColor.to_s%></lineColor>
7
+ <width><%= chart.width.to_s %></width>
8
+ <height><%= chart.height.to_s%></height>
9
+ <% if !chart.seriesColors.blank? %>
10
+ <% chart.seriesColors.each do |color|%>
11
+ <seriesColor><%=color.to_s%></seriesColor>
12
+ <%end%>
13
+ <%end%>
14
+ </grid>
15
+ <backgroundImage><%= chart.backgroundImage.to_s%></backgroundImage>
16
+ <% chart.categories.each do |cat| %>
17
+ <category>
18
+ <tick text="<%= cat[:tick].to_s %>" />
19
+ <bar size="<%= cat[:bar_size].to_s %>" link="<%= cat[:link].to_s%>" />
20
+ </category>
21
+ <%end%>
22
+ </chart>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" ?>
2
+ <chart>
3
+ <grid>
4
+ <width><%= chart.width.to_s%></width>
5
+ <height><%= chart.height.to_s %></height>
6
+ <backgroundImage><%= chart.backgroundImage.to_s%></backgroundImage>
7
+ </grid>
8
+ <category>
9
+ <% chart.categories.each do |cat|%>
10
+ <slice name="<%= cat[:tick] %>" size="<%= cat[:bar_size] %>" link="<%= cat[:link ]%>" />
11
+ <%end%>
12
+ </category>
13
+ </chart>
@@ -0,0 +1,14 @@
1
+ <chart>
2
+ <grid>
3
+ <title><%= chart.title.to_s%></title>
4
+ <width><%= chart.width.to_s%></width>
5
+ <height><%= chart.height.to_s%></height>
6
+ </grid>
7
+ <% chart.series.each_with_index do |serie,i|%>
8
+ <series link="<%= chart.links[i] %>">
9
+ <%serie.each do |part|%>
10
+ <partion size="<%=part%>"></partion>
11
+ <%end%>
12
+ </series>
13
+ <%end%>
14
+ </chart>
@@ -1,65 +1,95 @@
1
1
  module PlotSimple
2
2
  require 'engine' if defined?(Rails)
3
3
  module Charts
4
-
5
- def newPieChart
6
- @chart = Hash[:pie=>true]
7
- @chart.merge!(:categories=>[])
8
- @chart.merge!(:pointLabels=>[])
9
- end
10
-
11
- def newBarChart
12
- @chart = Hash[]
13
- @chart.merge!(:categories=>[])
14
- #following line is to avoid URLS from being shown for point labels
15
- @chart.merge!(:pointLabels=>[])
16
- @chart.merge!(:series_colors=>[])
17
- end
18
-
19
- def setTitle(title)
20
- @chart.merge!(Hash[:title,title])
21
- end
22
-
23
- def setBackgroundImage(image)
24
- @chart.merge!(Hash[:background_image,image])
25
- end
26
-
27
- def setBackgroundColor(color)
28
- @chart.merge!(Hash[:background_color,color])
29
- end
30
-
31
- def setBorderColor(color)
32
- @chart.merge!(Hash[:border_color,color])
33
- end
34
-
35
- def setLineColor(color)
36
- @chart.merge!(Hash[:line_color,color])
37
- end
38
- def setChartWidth(width)
39
- @chart.merge!(Hash[:chart_width,width])
4
+ #This will be a bump to 1.0.0...inserting objects
5
+ class BarChart
6
+ attr_accessor :type, :title, :backgroundImage, :background_color, :borderColor, :lineColor, :width, :height, :categories, :pointLabels, :seriesColors
7
+ def initialize
8
+ @type = "bar"
9
+ #just so that this can be an object
10
+ end
11
+
12
+ def setTitle(title)
13
+ @title = title;
14
+ end
15
+
16
+ def setBackgroundImage(image)
17
+ @backgroundImage = image
18
+ end
19
+
20
+ def setBackgroundColor(color)
21
+ @bgcolor = color
22
+ end
23
+
24
+ def setBorderColor(color)
25
+ @borderColor = color
26
+ end
27
+
28
+ def setLineColor(color)
29
+ @lineColor = color
30
+ end
31
+
32
+ def setWidth(width)
33
+ @width = width
34
+ end
35
+
36
+ def setHeight(height)
37
+ @height = height
38
+ end
39
+
40
+
41
+ def addCategory(name,size,link)
42
+ @categories ||= []
43
+ @pointLabels ||= []
44
+ @categories << Hash[:tick=>name,:bar_size=>size,:link=>link]
45
+ @pointLabels << size
46
+ end
47
+
48
+ def addSeriesColor(color)
49
+ @seriesColors ||= []
50
+ @seriesColors << color
51
+ end
52
+
53
+ def seriesColors
54
+ @seriesColors
55
+ end
56
+
40
57
  end
41
58
 
42
- def setChartHeight(height)
43
- @chart.merge!(Hash[:chart_height,height])
59
+ class PieChart < BarChart
60
+ #Pretty much exactly the same as barchart as of 7/30/2012, so inherit from it...
61
+ #override initialize so we can use a method to get at XML later
62
+ def initialize
63
+ @type = "pie"
64
+ end
44
65
  end
45
66
 
46
- def addCategory(tick,size,link)
47
- category = Hash[:tick=>tick,:bar_size=>size,:link=>link]
48
- @chart[:categories] << category
49
- @chart[:pointLabels] << size
67
+ class StackedColumn < BarChart
68
+ attr_accessor :series, :links
69
+ def initialize
70
+ @type = "stacked"
71
+ end
72
+
73
+ def addSeries(series)
74
+ @series ||= []
75
+ @series << series
76
+ end
77
+
78
+ def addLinks(links)
79
+ @links = links
80
+ end
81
+
50
82
  end
51
83
 
52
- def addSeriesColor(color)
53
- color = Hash[:color=>color]
54
- @chart[:series_colors] << color
55
- end
56
84
 
57
- def renderXML(chart = nil)
85
+ def chartToXML(chart = nil)
58
86
  chart ||= @chart
59
- if !chart[:pie]
60
- render :partial=>"plot_simple/chartxml",:locals=>{:chart=>chart}
61
- else
87
+ if chart.type == "bar"
88
+ render :partial=>"plot_simple/barchartxml",:locals=>{:chart=>chart}
89
+ elsif chart.type == "pie"
62
90
  render :partial=>"plot_simple/piechartxml",:locals=>{:chart=>chart}
91
+ elsif chart.type == "stacked"
92
+ render :partial=>"plot_simple/stackedcolumnxml",:locals=>{:chart=>chart}
63
93
  end
64
94
  end
65
95
 
@@ -1,20 +1,22 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{plot_simple}
3
- s.version = "0.1.3"
3
+ s.version = "1.0.1"
4
4
 
5
5
  s.required_ruby_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = %q{Travis Pessetto}
7
- s.date = %q{2012-07-27}
7
+ s.date = Date.today
8
8
  s.description = %q{A graphing engine for jqplot}
9
9
  s.email = %q{travis.pessetto@es3inc.com}
10
10
  s.extra_rdoc_files = [%q{README.md}, %q{lib/plot_simple.rb}]
11
- s.files = [%q{README.md}, %q{lib/plot_simple.rb},%q{lib/engine.rb}, %q{plot_simple.gemspec},%q{app/views/plot_simple/_chartxml.xml.erb}]
11
+ s.files = [%q{README.md}, %q{lib/plot_simple.rb},%q{lib/engine.rb}, %q{plot_simple.gemspec}, %q{app/views/plot_simple/_barchartxml.xml.erb},%q{app/views/plot_simple/_piechartxml.xml.erb},
12
+ %q{app/views/plot_simple/_stackedcolumnxml.xml.erb}]
12
13
  s.homepage = %q{http://www.es3inc.com}
13
14
  s.rdoc_options = [%q{--line-numbers}, %q{--inline-source}, %q{--title}, %q{plot_simple}, %q{--main}, %q{readme.rdoc}]
14
15
  s.require_paths = [%q{lib}]
15
16
  s.rubyforge_project = %q{plot_simple}
16
17
  s.rubygems_version = %q{1.8.6}
17
18
  s.summary = %q{A gem to simplify the creation of charts from the controller}
19
+ s.add_dependency('jquery_cheats', '>= 4.2.0')
18
20
 
19
21
  if s.respond_to? :specification_version then
20
22
  s.specification_version = 3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plot_simple
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-27 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2012-07-31 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jquery_cheats
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 4.2.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 4.2.0
14
30
  description: A graphing engine for jqplot
15
31
  email: travis.pessetto@es3inc.com
16
32
  executables: []
@@ -23,7 +39,9 @@ files:
23
39
  - lib/plot_simple.rb
24
40
  - lib/engine.rb
25
41
  - plot_simple.gemspec
26
- - app/views/plot_simple/_chartxml.xml.erb
42
+ - app/views/plot_simple/_barchartxml.xml.erb
43
+ - app/views/plot_simple/_piechartxml.xml.erb
44
+ - app/views/plot_simple/_stackedcolumnxml.xml.erb
27
45
  homepage: http://www.es3inc.com
28
46
  licenses: []
29
47
  post_install_message:
@@ -1,22 +0,0 @@
1
- <chart>
2
- <grid>
3
- <title><%=chart[:title]%></title>
4
- <background>transparent</background>
5
- <borderColor><%=chart[:background_color]%></borderColor>
6
- <lineColor><%=chart[:line_color]%></lineColor>
7
- <width><%= chart[:chart_width] %></width>
8
- <height><%= chart[:chart_height]%></height>
9
- <% if !chart[:series_colors].blank? %>
10
- <% chart[:series_colors].each do |col|%>
11
- <seriesColor><%=col[:color]%></seriesColor>
12
- <%end%>
13
- <%end%>
14
- </grid>
15
- <backgroundImage><%= chart[:background_image]%></backgroundImage>
16
- <% chart[:categories].each do |cat| %>
17
- <category>
18
- <tick text="<%= cat[:tick] %>" />
19
- <bar size="<%= cat[:bar_size] %>" link="<%= cat[:link]%>" />
20
- </category>
21
- <%end%>
22
- </chart>