igs_pie_chart 0.0.8 → 0.0.11

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.
@@ -12,48 +12,21 @@ class Igs::PieChart
12
12
  end
13
13
 
14
14
  def script
15
- begin
16
- default_attribution
17
-
18
- path = File.expand_path("../../../templates/_script.html.erb", __FILE__)
19
- output = ERB.new(File.read(path)).result(binding)
20
- rescue Exception => e
21
- STDERR.puts "Erro ao renderizar JavaScript! #{e}"
22
- output = nil
23
- end
24
- return output
15
+ return eval_erb('script.html')
25
16
  end
26
17
 
27
18
  def style
28
- begin
29
- default_attribution
30
-
31
- path = File.expand_path("../../../templates/_style.css.erb", __FILE__)
32
- output = ERB.new(File.read(path)).result(binding)
33
- rescue Exception => e
34
- STDERR.puts "Erro ao renderizar CSS! #{e}"
35
- output = nil
36
- end
37
- return output
19
+ return eval_erb('style.css')
38
20
  end
39
21
 
40
22
  def labels
41
- begin
42
- default_attribution
43
-
44
- path = File.expand_path("../../../templates/_labels.html.erb", __FILE__)
45
- output = ERB.new(File.read(path)).result(binding)
46
- rescue Exception => e
47
- STDERR.puts "Erro ao renderizar Labels! #{e}"
48
- output = nil
49
- end
50
- return output
23
+ return eval_erb('labels.html')
51
24
  end
52
25
 
53
26
  def render
54
- rendering = '<style>'
27
+ rendering = "<style>\n"
55
28
  rendering+= self.style
56
- rendering+= '</style>'
29
+ rendering+= "</style>\n"
57
30
  rendering+= self.script
58
31
  rendering+= self.labels
59
32
 
@@ -77,7 +50,21 @@ class Igs::PieChart
77
50
  end
78
51
 
79
52
  private
80
- def default_attribution
53
+
54
+ def eval_erb(partial)
55
+ begin
56
+ default_attributions
57
+
58
+ path = File.expand_path("../../../templates/_#{partial}.erb", __FILE__)
59
+ output = ERB.new(File.read(path)).result(binding)
60
+ rescue Exception => e
61
+ STDERR.puts "Erro ao renderizar '#{partial}'! #{e}"
62
+ output = nil
63
+ end
64
+ return output
65
+ end
66
+
67
+ def default_attributions
81
68
 
82
69
  if @default_attribution == true
83
70
  return
data/lib/igs_pie_chart.rb CHANGED
@@ -1,3 +1,5 @@
1
+ #encoding: utf-8
2
+
1
3
  begin
2
4
  mod = Required::Module::const_get "Igs"
3
5
  #It exists
@@ -15,9 +17,10 @@ begin
15
17
  rescue NameError
16
18
  #TODO: change this to use a logging api
17
19
  puts "Not a Rails application, nothing to do here!"
20
+ puts " . . "
21
+ puts " ____ \n\n"
18
22
  end
19
23
 
20
- #encoding: utf-8
21
24
  require 'erb'
22
25
  require 'igs_pie_chart/pie_chart'
23
26
 
@@ -18,6 +18,10 @@ var arcs = vis.selectAll("g.arc")
18
18
  .data(donut)
19
19
  .enter().append("g")
20
20
  .attr("class", "arc")
21
+ /*.attr("onmouseover","evt.target.setAttribute('opacity', '0.5');")
22
+ .attr("onmouseout","evt.target.setAttribute('opacity', '1');")*/
23
+ .attr("onmouseover","evt.target.setAttribute('opacity', '0.5');")
24
+ .attr("onmouseout","evt.target.setAttribute('opacity', '1');")
21
25
  .attr("transform", "translate(" + outerRadius + "," + outerRadius + ")");
22
26
 
23
27
  arcs.append("path")
@@ -0,0 +1,43 @@
1
+ require 'test/unit'
2
+ require 'igs_pie_chart'
3
+ require 'erb'
4
+
5
+ class IgsPieChartTest < Test::Unit::TestCase
6
+
7
+ include Igs
8
+
9
+ HTML_TEST_OUTPUT='test.output.html'
10
+ JS_TEST_OUTPUT='test.output.js'
11
+
12
+ def test_pie_chart_rendering
13
+ puts "Purging #{HTML_TEST_OUTPUT}..."+`rm #{HTML_TEST_OUTPUT}`
14
+ puts "Purging #{JS_TEST_OUTPUT}..."+`rm #{JS_TEST_OUTPUT}`
15
+
16
+ #these two lines does the trick!
17
+ pie = PieChart.new('My colorful chart',200,0.4,'body',{'one'=>1.1,'two'=>2.2,'tree'=>3.3,'five'=>5.5,'eight'=>8.8,'thirteen'=>13.13,'twenty_one'=>21.21,'thirty_four'=>34.34,'fifty_five'=>55.55,'eighty_nine'=>89.89,'a_hundread_forty_four'=>144.144})
18
+ @render = pie.render
19
+
20
+ assert_not_equal nil, @render
21
+
22
+ File.open('test.output.js', 'w') do |f|
23
+ f.write @render
24
+ end
25
+
26
+ path = File.expand_path("../../templates/test_pie_chart.html.erb", __FILE__)
27
+ html_render = ERB.new(File.read(path)).result(binding)
28
+
29
+ File.open(HTML_TEST_OUTPUT, 'w') do |f|
30
+ f.write html_render
31
+ end
32
+
33
+ begin
34
+ `open #{HTML_TEST_OUTPUT}`
35
+ rescue Exception => e
36
+ puts "Ouch! #{e}"
37
+ end
38
+
39
+ `google-chrome #{HTML_TEST_OUTPUT}`
40
+
41
+ end
42
+
43
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: igs_pie_chart
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-10 00:00:00.000000000 Z
12
+ date: 2013-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: d3_rails
@@ -18,10 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '2.10'
22
- - - <
23
- - !ruby/object:Gem::Version
24
- version: '3.0'
21
+ version: 3.0.6
25
22
  type: :runtime
26
23
  prerelease: false
27
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,13 +26,10 @@ dependencies:
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
32
- version: '2.10'
33
- - - <
34
- - !ruby/object:Gem::Version
35
- version: '3.0'
29
+ version: 3.0.6
36
30
  description: Pie Chart is a gem for pizza making. It uses D3 (Data Driven Documents)
37
31
  to aggregate the data and render the SVG awesomeness.
38
- email: lucas.martins@innovit.com.br
32
+ email: lucasmartins@railsnapraia.com
39
33
  executables: []
40
34
  extensions: []
41
35
  extra_rdoc_files: []
@@ -45,8 +39,10 @@ files:
45
39
  - templates/_labels.html.erb
46
40
  - templates/_script.html.erb
47
41
  - templates/_style.css.erb
42
+ - test/test_igs_pie_chart.rb
48
43
  homepage: https://github.com/lucasmartins/igs_pie_chart
49
- licenses: []
44
+ licenses:
45
+ - MIT
50
46
  post_install_message:
51
47
  rdoc_options: []
52
48
  require_paths:
@@ -56,10 +52,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
56
52
  requirements:
57
53
  - - ! '>='
58
54
  - !ruby/object:Gem::Version
59
- version: '0'
60
- segments:
61
- - 0
62
- hash: 427138969806614625
55
+ version: 1.9.1
63
56
  required_rubygems_version: !ruby/object:Gem::Requirement
64
57
  none: false
65
58
  requirements:
@@ -72,4 +65,5 @@ rubygems_version: 1.8.23
72
65
  signing_key:
73
66
  specification_version: 3
74
67
  summary: Pie Chart is a gem for pizza making.
75
- test_files: []
68
+ test_files:
69
+ - test/test_igs_pie_chart.rb