ziya 1.0.0 → 2.0.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.
Files changed (184) hide show
  1. data/Manifest.txt +74 -28
  2. data/README.txt +91 -14
  3. data/Rakefile +1 -1
  4. data/bin/ziyafy +2 -0
  5. data/charts/AC_RunActiveContent.js +292 -0
  6. data/charts/charts.swf +0 -0
  7. data/charts/charts_library/ar3d.swf +0 -0
  8. data/charts/charts_library/arno.swf +0 -0
  9. data/charts/charts_library/ars3.swf +0 -0
  10. data/charts/charts_library/arst.swf +0 -0
  11. data/charts/charts_library/brfl.swf +0 -0
  12. data/charts/charts_library/brno.swf +0 -0
  13. data/charts/charts_library/brst.swf +0 -0
  14. data/charts/charts_library/buno.swf +0 -0
  15. data/charts/charts_library/cl3d.swf +0 -0
  16. data/charts/charts_library/clfl.swf +0 -0
  17. data/charts/charts_library/clno.swf +0 -0
  18. data/charts/charts_library/clp3.swf +0 -0
  19. data/charts/charts_library/cls3.swf +0 -0
  20. data/charts/charts_library/clst.swf +0 -0
  21. data/charts/charts_library/cnno.swf +0 -0
  22. data/charts/charts_library/lnno.swf +0 -0
  23. data/charts/charts_library/mxno.swf +0 -0
  24. data/charts/charts_library/pi3d.swf +0 -0
  25. data/charts/charts_library/pino.swf +0 -0
  26. data/charts/charts_library/pono.swf +0 -0
  27. data/charts/charts_library/scno.swf +0 -0
  28. data/charts/full_screen.swf +0 -0
  29. data/charts/sliders/black.swf +0 -0
  30. data/charts/sliders/preview_handle_1.swf +0 -0
  31. data/charts/sliders/preview_handle_2.swf +0 -0
  32. data/fred.rb +36 -0
  33. data/gauges/designs/circle.yml +18 -0
  34. data/gauges/designs/signal.yml +14 -0
  35. data/gauges/designs/thermo.yml +119 -0
  36. data/gauges/designs/title.yml +11 -0
  37. data/gauges/gauge.swf +0 -0
  38. data/lib/ziya.rb +17 -5
  39. data/lib/ziya/charts/area.rb +6 -1
  40. data/lib/ziya/charts/area_threed.rb +16 -0
  41. data/lib/ziya/charts/bar.rb +8 -3
  42. data/lib/ziya/charts/base.rb +210 -153
  43. data/lib/ziya/charts/bubble.rb +18 -0
  44. data/lib/ziya/charts/candle_stick.rb +6 -1
  45. data/lib/ziya/charts/column.rb +7 -2
  46. data/lib/ziya/charts/column_threed.rb +6 -1
  47. data/lib/ziya/charts/floating_bar.rb +6 -1
  48. data/lib/ziya/charts/floating_column.rb +7 -2
  49. data/lib/ziya/charts/line.rb +7 -2
  50. data/lib/ziya/charts/mixed.rb +5 -0
  51. data/lib/ziya/charts/parallel_threed_column.rb +6 -1
  52. data/lib/ziya/charts/pie.rb +7 -2
  53. data/lib/ziya/charts/pie_threed.rb +7 -2
  54. data/lib/ziya/charts/polar.rb +6 -1
  55. data/lib/ziya/charts/scatter.rb +6 -1
  56. data/lib/ziya/charts/stacked_area.rb +5 -0
  57. data/lib/ziya/charts/stacked_bar.rb +5 -0
  58. data/lib/ziya/charts/stacked_column.rb +7 -2
  59. data/lib/ziya/charts/stacked_threed_area.rb +16 -0
  60. data/lib/ziya/charts/stacked_threed_column.rb +6 -1
  61. data/lib/ziya/components/area.rb +5 -2
  62. data/lib/ziya/components/axis_category.rb +8 -60
  63. data/lib/ziya/components/axis_ticks.rb +25 -27
  64. data/lib/ziya/components/axis_value.rb +5 -48
  65. data/lib/ziya/components/base.rb +59 -17
  66. data/lib/ziya/components/bevel.rb +15 -0
  67. data/lib/ziya/components/blur.rb +13 -0
  68. data/lib/ziya/components/chart_border.rb +4 -23
  69. data/lib/ziya/components/chart_grid_h.rb +17 -19
  70. data/lib/ziya/components/chart_grid_v.rb +18 -19
  71. data/lib/ziya/components/chart_guide.rb +16 -0
  72. data/lib/ziya/components/chart_label.rb +16 -0
  73. data/lib/ziya/components/chart_pref.rb +12 -12
  74. data/lib/ziya/components/chart_rect.rb +27 -26
  75. data/lib/ziya/components/chart_transition.rb +15 -16
  76. data/lib/ziya/components/circle.rb +5 -2
  77. data/lib/ziya/components/draw.rb +12 -11
  78. data/lib/ziya/components/draw_base.rb +10 -0
  79. data/lib/ziya/components/filter.rb +26 -0
  80. data/lib/ziya/components/glow.rb +14 -0
  81. data/lib/ziya/components/image.rb +5 -1
  82. data/lib/ziya/components/legend.rb +18 -0
  83. data/lib/ziya/components/line.rb +6 -2
  84. data/lib/ziya/components/link.rb +9 -9
  85. data/lib/ziya/components/link_data.rb +9 -10
  86. data/lib/ziya/components/rect.rb +7 -2
  87. data/lib/ziya/components/scroll.rb +26 -0
  88. data/lib/ziya/components/shadow.rb +14 -0
  89. data/lib/ziya/components/text.rb +5 -1
  90. data/lib/ziya/components/update.rb +19 -0
  91. data/lib/ziya/gauges/base.rb +172 -0
  92. data/lib/ziya/gauges/radial.rb +18 -0
  93. data/lib/ziya/gauges/signal.rb +138 -0
  94. data/lib/ziya/gauges/support/area.rb +13 -0
  95. data/lib/ziya/gauges/support/base.rb +33 -0
  96. data/lib/ziya/gauges/support/circle.rb +14 -0
  97. data/lib/ziya/gauges/support/design.rb +5 -0
  98. data/lib/ziya/gauges/support/image.rb +12 -0
  99. data/lib/ziya/gauges/support/line.rb +12 -0
  100. data/lib/ziya/gauges/support/link.rb +24 -0
  101. data/lib/ziya/gauges/support/move.rb +15 -0
  102. data/lib/ziya/gauges/support/point.rb +12 -0
  103. data/lib/ziya/gauges/support/polygon.rb +13 -0
  104. data/lib/ziya/gauges/support/radial_base.rb +21 -0
  105. data/lib/ziya/gauges/support/radial_numbers.rb +41 -0
  106. data/lib/ziya/gauges/support/radial_ticks.rb +29 -0
  107. data/lib/ziya/gauges/support/rect.rb +14 -0
  108. data/lib/ziya/gauges/support/rotate.rb +15 -0
  109. data/lib/ziya/gauges/support/scale.rb +15 -0
  110. data/lib/ziya/gauges/support/text.rb +21 -0
  111. data/lib/ziya/gauges/support/update.rb +12 -0
  112. data/lib/ziya/gauges/thermo.rb +121 -0
  113. data/lib/ziya/helpers/base_helper.rb +39 -6
  114. data/lib/ziya/utils/text.rb +6 -0
  115. data/lib/ziya/version.rb +1 -1
  116. data/lib/ziya/ziya_helper.rb +289 -62
  117. data/spec/charts/base_spec.rb +35 -21
  118. data/spec/charts/chart_type_spec.rb +24 -3
  119. data/spec/components/area_spec.rb +9 -2
  120. data/spec/components/draw_spec.rb +1 -2
  121. data/spec/components/filter_spec.rb +27 -0
  122. data/spec/components/link_spec.rb +1 -2
  123. data/spec/components/series_color_spec.rb +1 -2
  124. data/spec/components/series_explode_spec.rb +1 -2
  125. data/spec/components/series_switch_spec.rb +1 -2
  126. data/spec/designs/circle.yml +7 -0
  127. data/spec/designs/crapping_out.yml +8 -0
  128. data/spec/designs/gauge_1.yml +43 -0
  129. data/spec/designs/gauge_2.yml +11 -0
  130. data/spec/designs/gauge_no_name.yml +43 -0
  131. data/spec/designs/gauge_raw.yml +5 -0
  132. data/spec/designs/thermo.yml +13 -0
  133. data/spec/gauges/base_spec.rb +90 -0
  134. data/spec/gauges/signal_spec.rb +36 -0
  135. data/spec/gauges/support/area_spec.rb +40 -0
  136. data/spec/gauges/support/circle_spec.rb +78 -0
  137. data/spec/gauges/support/image_spec.rb +35 -0
  138. data/spec/gauges/support/line_spec.rb +34 -0
  139. data/spec/gauges/support/link_spec.rb +35 -0
  140. data/spec/gauges/support/move_spec.rb +45 -0
  141. data/spec/gauges/support/polygon_spec.rb +36 -0
  142. data/spec/gauges/support/radial_numbers_spec.rb +35 -0
  143. data/spec/gauges/support/radial_ticks_spec.rb +30 -0
  144. data/spec/gauges/support/rotate_spec.rb +45 -0
  145. data/spec/gauges/support/scale_spec.rb +46 -0
  146. data/spec/gauges/support/text_spec.rb +40 -0
  147. data/spec/gauges/thermo_spec.rb +49 -0
  148. data/spec/helpers/base_helper_spec.rb +20 -6
  149. data/spec/spec_helper.rb +4 -1
  150. data/spec/test_helpers/gauge_2_helper.rb +17 -0
  151. data/spec/utils/logger_spec.rb +1 -3
  152. data/spec/utils/text_spec.rb +1 -2
  153. data/spec/ziya_helper_spec.rb +88 -11
  154. data/spec/ziya_spec.rb +1 -1
  155. data/tasks/gem.rake +1 -1
  156. metadata +79 -32
  157. data/charts/themes/commando/bar_chart.yml +0 -9
  158. data/charts/themes/commando/base_chart.yml +0 -65
  159. data/charts/themes/commando/column_chart.yml +0 -13
  160. data/charts/themes/commando/column_threed_chart.yml +0 -25
  161. data/charts/themes/commando/parallel_threed_column_chart.yml +0 -17
  162. data/charts/themes/commando/pie_chart.yml +0 -22
  163. data/charts/themes/commando/pie_threed_chart.yml +0 -28
  164. data/charts/themes/commando/polar_chart.yml +0 -11
  165. data/charts/themes/commando/stacked_bar_chart.yml +0 -9
  166. data/charts/themes/commando/stacked_column_chart.yml +0 -14
  167. data/charts/themes/commando/stacked_threed_column_chart.yml +0 -17
  168. data/charts/themes/default/bar_chart.yml +0 -3
  169. data/charts/themes/default/base_chart.yml +0 -67
  170. data/charts/themes/default/column_chart.yml +0 -13
  171. data/charts/themes/default/column_threed_chart.yml +0 -25
  172. data/charts/themes/default/parallel_threed_column_chart.yml +0 -17
  173. data/charts/themes/default/pie_chart.yml +0 -29
  174. data/charts/themes/default/pie_threed_chart.yml +0 -28
  175. data/charts/themes/default/polar_chart.yml +0 -12
  176. data/charts/themes/default/stacked_bar_chart.yml +0 -3
  177. data/charts/themes/default/stacked_column_chart.yml +0 -14
  178. data/charts/themes/default/stacked_threed_column_chart.yml +0 -17
  179. data/charts/themes/default/test.yml +0 -4
  180. data/lib/ziya/components/chart_value.rb +0 -71
  181. data/lib/ziya/components/legend_label.rb +0 -18
  182. data/lib/ziya/components/legend_rect.rb +0 -19
  183. data/lib/ziya/components/legend_transition.rb +0 -18
  184. data/lib/ziya/components/live_update.rb +0 -21
@@ -0,0 +1,46 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[.. .. spec_helper]))
2
+
3
+ describe Ziya::Gauges::Support::Scale do
4
+ before( :all ) do
5
+ @comp = Ziya::Gauges::Support::Scale.new(
6
+ :x => 3,
7
+ :y => 30,
8
+ :start_scale => 25,
9
+ :end_scale => 100,
10
+ :step => 0,
11
+ :direction => 10,
12
+ :shake_span => 100,
13
+ :shake_frequency => 10,
14
+ :shake_snap => 20,
15
+ :shadow_alpha => 100,
16
+ :shadow_x_offset => 10,
17
+ :shadow_y_offset => 20,
18
+ :components => YAML::Omap[
19
+ :line1, Ziya::Gauges::Support::Line.new( :x1 => 10, :y1 => 20 ),
20
+ :line2, Ziya::Gauges::Support::Line.new( :x1 => 20, :y1 => 30 )
21
+ ] )
22
+ end
23
+
24
+ describe "#flatten" do
25
+ it "should flatten component correctly" do
26
+ xml = Builder::XmlMarkup.new
27
+ @comp.flatten( xml )
28
+ buff = xml.to_s
29
+ @comp.class.attributes[@comp.class.name].each do |attr|
30
+ buff.scan( /\s#{attr}=\"(\w+)\"/ ).should == [ [@comp.send( attr ).to_s] ] unless attr == :components
31
+ end
32
+ buff.scan( /<line/ ).size.should == 2
33
+ buff.scan( /\sx1=\"(.*?\d+)\"/ ).should == [ ["10"], ["20"] ]
34
+ buff.scan( /\sy1=\"(.*?\d+)\"/ ).should == [ ["20"], ["30"] ]
35
+ end
36
+ end
37
+
38
+ describe "YAML load" do
39
+ it "should load from yaml correctly" do
40
+ comp = YAML.load( @comp.to_comp_yaml( :test, 1 ) ).first[:test]
41
+ @comp.options.each_pair do |k,v|
42
+ comp.send( k ).should == v
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,40 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[.. .. spec_helper]))
2
+
3
+ describe Ziya::Gauges::Support::Text do
4
+ before( :all ) do
5
+ @comp = Ziya::Gauges::Support::Text.new(
6
+ :x => 1,
7
+ :y => 2,
8
+ :width => 100,
9
+ :height => 100,
10
+ :rotation => 0,
11
+ :font => "arial",
12
+ :bold => true,
13
+ :size => 1,
14
+ :align => "left",
15
+ :color => "ffffff",
16
+ :alpha => 100,
17
+ :text => "Hello Bubba !!" )
18
+ end
19
+
20
+ describe "#flatten" do
21
+ it "should flatten component correctly" do
22
+ xml = Builder::XmlMarkup.new
23
+ @comp.flatten( xml )
24
+ buff = xml.to_s
25
+ @comp.class.attributes[@comp.class.name].each do |attr|
26
+ buff.scan( /#{attr}=\"(\w+)\"/ ).should == [ [@comp.send( attr ).to_s] ] unless attr == :text
27
+ end
28
+ buff.scan( />(#{@comp.text})<\/text>/ ).should == [ [@comp.text] ]
29
+ end
30
+ end
31
+
32
+ describe "YAML load" do
33
+ it "should load from yaml correctly" do
34
+ comp = YAML.load( @comp.to_comp_yaml( :test, 1 ) ).first[:test]
35
+ @comp.options.each_pair do |k,v|
36
+ comp.send( k ).should == v
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,49 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[.. spec_helper]))
2
+
3
+ describe Ziya::Gauges::Thermo do
4
+ describe "#initialize" do
5
+ before( :each ) do
6
+ @gauge = Ziya::Gauges::Thermo.new( "test_license", "override" )
7
+ end
8
+
9
+ it "should create a gauge with the correct license" do
10
+ @gauge.license.should == "test_license"
11
+ end
12
+
13
+ it "should create a gauge with the correct id" do
14
+ @gauge.design_id.should == "override"
15
+ end
16
+ end
17
+
18
+ describe "#to_xml" do
19
+ it "should produce the correct xml for the std gauge" do
20
+ buff = Ziya::Gauges::Thermo.new( "test_license" ).to_xml
21
+ buff.scan( /<license/ ).size.should == 1
22
+ buff.scan( /<circle/ ).size.should == 6
23
+ buff.scan( /<line/ ).size.should == 13
24
+ buff.scan( /<rect/ ).size.should == 4
25
+ buff.scan( /x1=\"(.*?\d+)\"/ ).should == [["30"], ["30"], ["30"], ["30"], ["30"], ["30"], ["30"], ["80"], ["80"], ["80"], ["80"], ["80"], ["80"]]
26
+ buff.scan( /y1=\"(.*?\d+)\"/ ).should == [["155.0"], ["138.0"], ["121.0"], ["104.0"], ["87.0"], ["70.0"], ["53.0"], ["153"], ["133"], ["113"], ["93"], ["73"], ["53"]]
27
+ buff.scan( /x2=\"(.*?\d+)\"/ ).should == [["38"], ["38"], ["38"], ["38"], ["38"], ["38"], ["38"], ["88"], ["88"], ["88"], ["88"], ["88"], ["88"]]
28
+ buff.scan( /y2=\"(.*?\d+)\"/ ).should == [["155.0"], ["138.0"], ["121.0"], ["104.0"], ["87.0"], ["70.0"], ["53.0"], ["153"], ["133"], ["113"], ["93"], ["73"], ["53"]]
29
+ buff.scan( /x=\"(.*?\d+)\"/ ).should == [["-130"], ["40"], ["60"], ["60"], ["60"], ["55"], ["20"], ["20"], ["85"], ["60"], ["44"], ["44"], ["10"], ["10"], ["10"], ["10"], ["10"], ["10"], ["10"], ["88"], ["88"], ["88"], ["88"], ["88"], ["88"], ["999"]]
30
+ # buff.scan( /y=\"(.*?\d+)\"/ ).should == [["290"], ["40"], ["210"], ["210"], ["210"], ["210"], ["20"], ["25"], ["25"], ["10"], ["153"], ["52"], ["152"], ["147.0"], ["130.0"], ["113.0"], ["96.0"], ["79.0"], ["62.0"], ["45.0"], ["145"], ["125"], ["105"], ["85"], ["65"], ["45"], ["999"]]
31
+ end
32
+
33
+ it "user can override due point" do
34
+ gauge = Ziya::Gauges::Thermo.new( "test_license" )
35
+ gauge.set_preferences( :due_point => 100 )
36
+ buff = gauge.to_xml
37
+ buff.scan( /end_scale=\"(.*?\d+)\"/ ).should == [["80"]]
38
+ end
39
+
40
+ it "user can override thermo color" do
41
+ gauge = Ziya::Gauges::Thermo.new( "test_license" )
42
+ gauge.set_preferences( :gauge_color => "00FF00" )
43
+ buff = gauge.to_xml
44
+ buff.scan( /end_scale=\"(.*?\d+)\"/ ).should == [["20"]]
45
+ buff.scan( /color=\"(\w+)\"/ ).uniq.should == [["ffffff"], ["00FF00"], ["ffff00"], ["cccccc"], ["aaaaaa"], ["880000"]]
46
+ end
47
+
48
+ end
49
+ end
@@ -1,22 +1,36 @@
1
- require 'spec/spec_helper'
2
- # require File.join(File.dirname(__FILE__), %w[.. spec_helper])
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[.. spec_helper]))
3
2
 
4
3
  describe Ziya::Helpers::BaseHelper do
5
4
 
5
+ it "should generate the correct chart path" do
6
+ chart_url( "http://test.me.com/blee" ).should ==
7
+ "/charts/charts.swf?library_path=/charts/charts_library&xml_source=http%3A%2F%2Ftest.me.com%2Fblee"
8
+ chart_url( "http://test.me.com/blee", "/blees" ).should ==
9
+ "/blees/charts.swf?library_path=/blees/charts_library&xml_source=http%3A%2F%2Ftest.me.com%2Fblee"
10
+ end
11
+
6
12
  it "should generate the correct yaml class name" do
7
- component( "fred" ).should == "fred: !ruby/object:Ziya::Components::Fred\n"
13
+ component( "fred" ).should == "fred: !ruby/object:Ziya::Components::Fred"
8
14
  end
9
15
 
10
16
  it "should generate the correct yaml clqss name for alias" do
11
- comp( "fred" ).should == "fred: !ruby/object:Ziya::Components::Fred\n"
17
+ comp( "fred" ).should == "fred: !ruby/object:Ziya::Components::Fred"
12
18
  end
13
19
 
14
20
  it "should generate the correct yaml drawing class name" do
15
- drawing( "fred" ).should == "!ruby/object:Ziya::Components::Fred\n"
21
+ drawing( "fred" ).should == "!ruby/object:Ziya::Components::Fred"
16
22
  end
17
23
 
18
24
  it "should generate the correct yaml chart class name" do
19
- chart( "fred" ).should == "--- !ruby/object:Ziya::Charts::Fred\n"
25
+ chart( "fred" ).should == "--- !ruby/object:Ziya::Charts::Fred"
26
+ end
27
+
28
+ it "should generate the correct yaml for a gauge" do
29
+ gauge( "fred" ).should == "--- !ruby/object:Ziya::Gauges::Fred\ncomponents: !omap"
30
+ end
31
+
32
+ it "should generate the correct yaml for a dial" do
33
+ dial( :circle, :blee ).should == "- :blee: !ruby/object:Ziya::Gauges::Support::Circle"
20
34
  end
21
35
 
22
36
  end
@@ -4,4 +4,7 @@ require 'spec'
4
4
  require File.join( File.dirname(__FILE__), %w[.. lib ziya] )
5
5
 
6
6
  # Init ZiYa...
7
- ::Ziya.initialize( :themes_dir => File.join( File.dirname(__FILE__), %w[themes] ) )
7
+ Ziya.initialize( :log_level => :debug,
8
+ :themes_dir => File.join( File.dirname(__FILE__), %w[themes] ),
9
+ :designs_dir => File.join( File.dirname(__FILE__), %w[designs] ),
10
+ :helpers_dir => File.join( File.dirname(__FILE__), %w[test_helpers] ) )
@@ -0,0 +1,17 @@
1
+ module Ziya::Gauge2Helper
2
+ def colorize
3
+ "ff00ff"
4
+ end
5
+
6
+ # creates a red circle start at coords x,y radius r
7
+ def make_circle( x, y, radius )
8
+ circle = Ziya::Gauges::Support::Circle.new(
9
+ :x => x,
10
+ :y => y,
11
+ :radius => radius,
12
+ :start => 0,
13
+ :end => 360,
14
+ :fill_color => "ff0000" )
15
+ circle.to_comp_yaml( :circle_2, 2 )
16
+ end
17
+ end
@@ -1,6 +1,4 @@
1
- require 'spec/spec_helper'
2
- # require File.join(File.dirname(__FILE__), %w[.. spec_helper] )
3
-
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[.. spec_helper]))
4
2
  require 'stringio'
5
3
  require "ziya/utils/logger"
6
4
 
@@ -1,5 +1,4 @@
1
- require 'spec/spec_helper'
2
- # require File.join(File.dirname(__FILE__), %w[.. spec_helper])
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[.. spec_helper]))
3
2
 
4
3
  describe Ziya::Utils::Text do
5
4
  describe "camelize" do
@@ -1,30 +1,97 @@
1
- require 'spec/spec_helper'
2
- # require File.join(File.dirname(__FILE__), %w[spec_helper])
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[spec_helper]))
3
2
 
4
3
  describe Ziya::Helper do
5
-
6
- describe "ziya_chart" do
7
- before( :each ) do
8
- @url = "/fred/blee/duh"
9
- end
10
-
4
+ before( :all ) do
5
+ @url = "/fred/blee/duh"
6
+ end
7
+
8
+ describe "ziya_gauge" do
11
9
  it "should generate the correct html with the default options" do
12
- ziya_chart( @url, :cache => true ).should == "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" data=\"/charts/charts.swf?library_path=/charts/charts_library&amp;xml_source=%2Ffred%2Fblee%2Fduh&amp;stage_width=400&amp;stage_height=300\" height=\"300\" id=\"ziya_chart\" stage_height=\"300\" stage_width=\"400\" style=\"\" width=\"400\"><param name=\"movie\" value=\"/charts/charts.swf?library_path=/charts/charts_library&amp;xml_source=%2Ffred%2Fblee%2Fduh&amp;stage_width=400&amp;stage_height=300\"><param name=\"quality\" value=\"high\"><embed bgcolor=\"#FFFFFF\" height=\"300\" name=\"ziya_chart\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" quality=\"high\" src=\"/charts/charts.swf?library_path=/charts/charts_library&amp;xml_source=%2Ffred%2Fblee%2Fduh&amp;stage_width=400&amp;stage_height=300\" swLiveConnect=\"true\" type=\"application/x-shockwave-flash\" width=\"400\" wmode=\"transparent\"></embed><param name=\"bgcolor\" value=\"#FFFFFF\"><param name=\"wmode\" value=\"transparent\"></object>"
10
+ ziya_gauge( @url ).should == " <object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" id=\"ziya_gauge\" height=\"200\" width=\"200\">\n <param name=\"scale\" value=\"noscale\">\n <param name=\"align\" value=\"middle\"> \n <param name=\"bgcolor\" value=\"#FFFFFF\">\n <param name=\"wmode\" value=\"transparent\"> \n <param name=\"movie\" value=\"/gauges/gauge.swf?xml_source=/fred/blee/duh\">\n <param name=\"menu\" value=\"true\">\n <param name=\"allowFullScreen\" value=\"true\">\n <param name=\"allowScriptAccess\" value=\"sameDomain\"> \n <param name=\"quality\" value=\"high\">\n <param name=\"play\" value=\"true\"> \n <param name=\"devicefont\" value=\"false\">\n <embed scale=\"noscale\"\n allowfullscreen=\"true\" \n allowscriptaccess=\"sameDomain\" \n bgcolor=\"#FFFFFF\" \n devicefont=\"false\" \n src=\"/gauges/gauge.swf?xml_source=/fred/blee/duh\" \n menu=\"true\" \n name=\"ziya_gauge\" \n play=\"true\" \n pluginspage=\"http://www.macromedia.com/go/getflashplayer\" \n quality=\"high\" \n salign=\"\" \n src=\"/gauges/gauge.swf?xml_source=/fred/blee/duh\" \n type=\"application/x-shockwave-flash\" \n wmode=\"transparent\" \n salign=\"\" \n height=\"200\" \n width=\"200\">\n </object> \n"
13
11
  end
14
12
 
15
13
  it "should set the wmode to opaque if bg_color is set" do
16
- html = ziya_chart( @url, :bgcolor => "ffffff" )
14
+ html = ziya_gauge( @url, :bgcolor => "ffffff" )
17
15
  html.index (/name=\"wmode\" value=\"opaque\"/).should_not be_nil
18
16
  html.index (/wmode=\"opaque\"/).should_not be_nil
19
17
  end
20
18
 
21
19
  it "should handle the size has widthxheight" do
22
- html = ziya_chart( @url, :size => "100x200" )
20
+ html = ziya_gauge( @url, :size => "100x200" )
23
21
  html.index (/width=\"100\"/).should_not be_nil
24
22
  html.index (/height=\"200\"/).should_not be_nil
25
23
  end
26
24
  end
27
25
 
26
+ describe "ziya_chart" do
27
+ it "should generate the correct embed tag with the default options" do
28
+ ziya_chart( @url, :tag_type => "embed" ).should == " <object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" id=\"ziya_chart\" height=\"300\" width=\"400\">\n <param name=\"scale\" value=\"noscale\">\n <param name=\"salign\" value=\"tl\"> \n <param name=\"bgcolor\" value=\"#FFFFFF\">\n <param name=\"wmode\" value=\"transparent\"> \n <param name=\"movie\" value=\"/charts/charts.swf\"> \n <param name=\"FlashVars\" value=\"library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh&chart_id=ziya_chart\">\n <param name=\"menu\" value=\"true\">\n <param name=\"allowFullScreen\" value=\"true\">\n <param name=\"allowScriptAccess\" value=\"sameDomain\"> \n <param name=\"quality\" value=\"high\">\n <param name=\"play\" value=\"true\"> \n <param name=\"devicefont\" value=\"false\">\n <embed scale=\"noscale\" \n allowfullscreen=\"true\" \n allowscriptaccess=\"sameDomain\" \n bgcolor=\"#FFFFFF\" \n devicefont=\"false\" \n flashvars=\"library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh\" \n menu=\"true\" \n name=\"ziya_chart\" \n play=\"true\" \n pluginspage=\"http://www.macromedia.com/go/getflashplayer\" \n quality=\"high\" \n salign=\"tl\" \n src=\"/charts/charts.swf\" \n type=\"application/x-shockwave-flash\" \n wmode=\"transparent\" \n align=\"l\" \n height=\"300\" \n width=\"400\"/> \n </object> \n"
29
+ end
30
+
31
+ it "should generate the correct object tag with the default options" do
32
+ ziya_chart( @url, :tag_type => "object" ).should == " <object codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0\" classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" id=\"ziya_chart\" height=\"300\" width=\"400\">\n <param name=\"scale\" value=\"noscale\">\n <param name=\"salign\" value=\"tl\"> \n <param name=\"bgcolor\" value=\"#FFFFFF\">\n <param name=\"wmode\" value=\"transparent\"> \n <param name=\"movie\" value=\"/charts/charts.swf\"> \n <param name=\"FlashVars\" value=\"library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh&chart_id=ziya_chart\">\n <param name=\"menu\" value=\"true\">\n <param name=\"allowFullScreen\" value=\"true\">\n <param name=\"allowScriptAccess\" value=\"sameDomain\"> \n <param name=\"quality\" value=\"high\">\n <param name=\"play\" value=\"true\"> \n <param name=\"devicefont\" value=\"false\">\n <embed scale=\"noscale\" \n allowfullscreen=\"true\" \n allowscriptaccess=\"sameDomain\" \n bgcolor=\"#FFFFFF\" \n devicefont=\"false\" \n flashvars=\"library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh\" \n menu=\"true\" \n name=\"ziya_chart\" \n play=\"true\" \n pluginspage=\"http://www.macromedia.com/go/getflashplayer\" \n quality=\"high\" \n salign=\"tl\" \n src=\"/charts/charts.swf\" \n type=\"application/x-shockwave-flash\" \n wmode=\"transparent\" \n align=\"l\" \n height=\"300\" \n width=\"400\"/> \n </object> \n"
33
+ end
34
+
35
+ it "should generate the correct js tag" do
36
+ ziya_javascript_include_tag.should == " <script language=\"javascript\" type=\"text/javascript\">\n AC_FL_RunContent = 0;\n DetectFlashVer = 0;\n </script>\n <script src=\"/charts/AC_RunActiveContent.js\" language=\"javascript\"></script>\n <script language=\"javascript\" type=\"text/javascript\">\n var requiredMajorVersion = 9;\n var requiredMinorVersion = 0;\n var requiredRevision = 45;\n </script>\n"
37
+ end
38
+
39
+ it "should generate the correct js based chart tag" do
40
+ ziya_chart_js( @url ).should == " <script language=\"javascript\" type=\"text/javascript\">\n if (AC_FL_RunContent == 0 || DetectFlashVer == 0) {\n alert( \"This page requires AC_RunActiveContent.js.\" );\n } \n else {\n var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);\n if( hasRightVersion ) { \n AC_FL_RunContent(\n 'codebase' , 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0',\n 'width' , '400',\n 'height' , '300',\n 'scale' , 'noscale',\n 'salign' , 'tl',\n 'bgcolor' , '000000',\n 'wmode' , 'opaque',\n 'movie' , '/charts/charts',\n 'src' , '/charts/charts',\n 'FlashVars' , 'library_path=/charts/charts_library&xml_source=%2Ffred%2Fblee%2Fduh', \n 'id' , 'ziya_chart',\n 'name' , 'ziya_chart',\n 'menu' , 'true',\n 'allowFullScreen' , 'true',\n 'allowScriptAccess','sameDomain',\n 'quality' , 'high',\n 'align' , 'l',\n 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer',\n 'play' , 'true',\n 'devicefont' , 'false'\n ); \n } \n else { \n var alternateContent = 'This content requires the Adobe Flash Player. '\n + '<u><a href=http://www.macromedia.com/go/getflash/>Get Flash</a></u>.';\n document.write(alternateContent); \n }\n }\n </script>\n"
41
+ end
42
+
43
+ it "should set the wmode to opaque if bg_color is set" do
44
+ html = ziya_chart( @url, :bgcolor => "ffffff" )
45
+ # html.index (/name=\"wmode\" value=\"opaque\"/).should_not be_nil
46
+ # html.index (/'wmode'\s+,\s'opaque'/).should_not be_nil
47
+ html.index( /wmode=\"opaque\"/ ).should_not be_nil
48
+ end
49
+
50
+ it "should handle the size has widthxheight" do
51
+ html = ziya_chart( @url, :size => "100x200" )
52
+ html.index( /width=\"100\"/ ).should_not be_nil
53
+ html.index( /height=\"200\"/ ).should_not be_nil
54
+ # html.index (/'width'\s+,\s'100'/).should_not be_nil
55
+ # html.index (/'height'\s+,\s'200'/).should_not be_nil
56
+ end
57
+ end
58
+
59
+ describe "escape_url" do
60
+ it "should escape a plain url correctly" do
61
+ escape_url( "/fred/blee/duh" ).should == "%2Ffred%2Fblee%2Fduh"
62
+ end
63
+
64
+ it "should escape a url with args correctly" do
65
+ escape_url( "/fred?blee=hello world&bobo=10" ).should == "%2Ffred%3Fblee%3Dhello+world%26bobo%3D10"
66
+ end
67
+ end
68
+
69
+ describe "setup_mode" do
70
+ before( :each ) do
71
+ @options = { :bgcolor => "#000000" }
72
+ end
73
+
74
+ it "should set the wmode to opaque if a color is given" do
75
+ setup_wmode( @options )
76
+ @options[:wmode].should == "opaque"
77
+ end
78
+
79
+ it "should set the wmode to transparent and color to white if a color is not given" do
80
+ @options.delete(:bgcolor )
81
+ setup_wmode( @options )
82
+ @options[:wmode].should == "transparent"
83
+ @options[:bgcolor].should == "#FFFFFF"
84
+ end
85
+
86
+ it "should not set the wmode is user specified it" do
87
+ @options.delete(:bgcolor )
88
+ @options[:wmode] = 'transparent'
89
+ setup_wmode( @options )
90
+ @options[:wmode].should == "transparent"
91
+ @options[:bgcolor].should == "#FFFFFF"
92
+ end
93
+ end
94
+
28
95
  describe "content_tag" do
29
96
  it "should output an html tag correctly" do
30
97
  content_tag( :div, content_tag( :h1, "Hello" ) ).should == "<div><h1>Hello</h1></div>"
@@ -37,4 +104,14 @@ describe Ziya::Helper do
37
104
  end
38
105
  end
39
106
 
107
+ describe "tag_options" do
108
+ it "should correctly escape tag options" do
109
+ tag_options( {:blee => "<blee>", :fred => 10 }, true ).should == " blee=\"&lt;blee&gt;\" fred=\"10\""
110
+ end
111
+
112
+ it "should leave tag options unescaped" do
113
+ tag_options( {:blee => "<blee>", :fred => 10 }, false ).should == " blee=\"<blee>\" fred=\"10\""
114
+ end
115
+ end
116
+
40
117
  end
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "spec_helper" )
1
+ require File.expand_path(File.join(File.dirname(__FILE__), %w[spec_helper]))
2
2
 
3
3
  describe Ziya do
4
4
  before( :all ) do
@@ -90,7 +90,7 @@ namespace :gem do
90
90
 
91
91
  desc 'Install the gem'
92
92
  task :install => [:clobber, :package] do
93
- sh "#{SUDO} #{GEM} install pkg/#{PROJ.spec.full_name}"
93
+ sh "#{SUDO} #{GEM} install pkg/#{PROJ.spec.full_name} --no-rdoc --no-ri"
94
94
  end
95
95
 
96
96
  desc 'Uninstall the gem'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ziya
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fernand Galiana
@@ -9,17 +9,18 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-05-22 00:00:00 -06:00
12
+ date: 2008-08-19 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: logging
17
+ type: :runtime
17
18
  version_requirement:
18
19
  version_requirements: !ruby/object:Gem::Requirement
19
20
  requirements:
20
21
  - - "="
21
22
  - !ruby/object:Gem::Version
22
- version: 0.7.1
23
+ version: 0.9.0
23
24
  version:
24
25
  description: Easily add charting to your rails/merb applications
25
26
  email: fernand@liquidrail.com
@@ -37,12 +38,16 @@ files:
37
38
  - README.txt
38
39
  - Rakefile
39
40
  - bin/ziyafy
41
+ - charts/AC_RunActiveContent.js
40
42
  - charts/charts.swf
43
+ - charts/charts_library/ar3d.swf
41
44
  - charts/charts_library/arno.swf
45
+ - charts/charts_library/ars3.swf
42
46
  - charts/charts_library/arst.swf
43
47
  - charts/charts_library/brfl.swf
44
48
  - charts/charts_library/brno.swf
45
49
  - charts/charts_library/brst.swf
50
+ - charts/charts_library/buno.swf
46
51
  - charts/charts_library/cl3d.swf
47
52
  - charts/charts_library/clfl.swf
48
53
  - charts/charts_library/clno.swf
@@ -56,33 +61,22 @@ files:
56
61
  - charts/charts_library/pino.swf
57
62
  - charts/charts_library/pono.swf
58
63
  - charts/charts_library/scno.swf
59
- - charts/themes/commando/bar_chart.yml
60
- - charts/themes/commando/base_chart.yml
61
- - charts/themes/commando/column_chart.yml
62
- - charts/themes/commando/column_threed_chart.yml
63
- - charts/themes/commando/parallel_threed_column_chart.yml
64
- - charts/themes/commando/pie_chart.yml
65
- - charts/themes/commando/pie_threed_chart.yml
66
- - charts/themes/commando/polar_chart.yml
67
- - charts/themes/commando/stacked_bar_chart.yml
68
- - charts/themes/commando/stacked_column_chart.yml
69
- - charts/themes/commando/stacked_threed_column_chart.yml
70
- - charts/themes/default/bar_chart.yml
71
- - charts/themes/default/base_chart.yml
72
- - charts/themes/default/column_chart.yml
73
- - charts/themes/default/column_threed_chart.yml
74
- - charts/themes/default/parallel_threed_column_chart.yml
75
- - charts/themes/default/pie_chart.yml
76
- - charts/themes/default/pie_threed_chart.yml
77
- - charts/themes/default/polar_chart.yml
78
- - charts/themes/default/stacked_bar_chart.yml
79
- - charts/themes/default/stacked_column_chart.yml
80
- - charts/themes/default/stacked_threed_column_chart.yml
81
- - charts/themes/default/test.yml
64
+ - charts/full_screen.swf
65
+ - charts/sliders/black.swf
66
+ - charts/sliders/preview_handle_1.swf
67
+ - charts/sliders/preview_handle_2.swf
68
+ - fred.rb
69
+ - gauges/designs/circle.yml
70
+ - gauges/designs/signal.yml
71
+ - gauges/designs/thermo.yml
72
+ - gauges/designs/title.yml
73
+ - gauges/gauge.swf
82
74
  - lib/ziya.rb
83
75
  - lib/ziya/charts/area.rb
76
+ - lib/ziya/charts/area_threed.rb
84
77
  - lib/ziya/charts/bar.rb
85
78
  - lib/ziya/charts/base.rb
79
+ - lib/ziya/charts/bubble.rb
86
80
  - lib/ziya/charts/candle_stick.rb
87
81
  - lib/ziya/charts/column.rb
88
82
  - lib/ziya/charts/column_threed.rb
@@ -98,35 +92,64 @@ files:
98
92
  - lib/ziya/charts/stacked_area.rb
99
93
  - lib/ziya/charts/stacked_bar.rb
100
94
  - lib/ziya/charts/stacked_column.rb
95
+ - lib/ziya/charts/stacked_threed_area.rb
101
96
  - lib/ziya/charts/stacked_threed_column.rb
102
97
  - lib/ziya/components/area.rb
103
98
  - lib/ziya/components/axis_category.rb
104
99
  - lib/ziya/components/axis_ticks.rb
105
100
  - lib/ziya/components/axis_value.rb
106
101
  - lib/ziya/components/base.rb
102
+ - lib/ziya/components/bevel.rb
103
+ - lib/ziya/components/blur.rb
107
104
  - lib/ziya/components/chart_border.rb
108
105
  - lib/ziya/components/chart_grid_h.rb
109
106
  - lib/ziya/components/chart_grid_v.rb
107
+ - lib/ziya/components/chart_guide.rb
108
+ - lib/ziya/components/chart_label.rb
110
109
  - lib/ziya/components/chart_pref.rb
111
110
  - lib/ziya/components/chart_rect.rb
112
111
  - lib/ziya/components/chart_transition.rb
113
- - lib/ziya/components/chart_value.rb
114
112
  - lib/ziya/components/circle.rb
115
113
  - lib/ziya/components/draw.rb
114
+ - lib/ziya/components/draw_base.rb
115
+ - lib/ziya/components/filter.rb
116
+ - lib/ziya/components/glow.rb
116
117
  - lib/ziya/components/image.rb
117
- - lib/ziya/components/legend_label.rb
118
- - lib/ziya/components/legend_rect.rb
119
- - lib/ziya/components/legend_transition.rb
118
+ - lib/ziya/components/legend.rb
120
119
  - lib/ziya/components/line.rb
121
120
  - lib/ziya/components/link.rb
122
121
  - lib/ziya/components/link_data.rb
123
- - lib/ziya/components/live_update.rb
124
122
  - lib/ziya/components/rect.rb
123
+ - lib/ziya/components/scroll.rb
125
124
  - lib/ziya/components/series_color.rb
126
125
  - lib/ziya/components/series_explode.rb
127
126
  - lib/ziya/components/series_gap.rb
128
127
  - lib/ziya/components/series_switch.rb
128
+ - lib/ziya/components/shadow.rb
129
129
  - lib/ziya/components/text.rb
130
+ - lib/ziya/components/update.rb
131
+ - lib/ziya/gauges/base.rb
132
+ - lib/ziya/gauges/radial.rb
133
+ - lib/ziya/gauges/signal.rb
134
+ - lib/ziya/gauges/support/area.rb
135
+ - lib/ziya/gauges/support/base.rb
136
+ - lib/ziya/gauges/support/circle.rb
137
+ - lib/ziya/gauges/support/design.rb
138
+ - lib/ziya/gauges/support/image.rb
139
+ - lib/ziya/gauges/support/line.rb
140
+ - lib/ziya/gauges/support/link.rb
141
+ - lib/ziya/gauges/support/move.rb
142
+ - lib/ziya/gauges/support/point.rb
143
+ - lib/ziya/gauges/support/polygon.rb
144
+ - lib/ziya/gauges/support/radial_base.rb
145
+ - lib/ziya/gauges/support/radial_numbers.rb
146
+ - lib/ziya/gauges/support/radial_ticks.rb
147
+ - lib/ziya/gauges/support/rect.rb
148
+ - lib/ziya/gauges/support/rotate.rb
149
+ - lib/ziya/gauges/support/scale.rb
150
+ - lib/ziya/gauges/support/text.rb
151
+ - lib/ziya/gauges/support/update.rb
152
+ - lib/ziya/gauges/thermo.rb
130
153
  - lib/ziya/helpers/base_helper.rb
131
154
  - lib/ziya/utils/logger.rb
132
155
  - lib/ziya/utils/text.rb
@@ -136,12 +159,36 @@ files:
136
159
  - spec/charts/chart_type_spec.rb
137
160
  - spec/components/area_spec.rb
138
161
  - spec/components/draw_spec.rb
162
+ - spec/components/filter_spec.rb
139
163
  - spec/components/link_spec.rb
140
164
  - spec/components/series_color_spec.rb
141
165
  - spec/components/series_explode_spec.rb
142
166
  - spec/components/series_switch_spec.rb
167
+ - spec/designs/circle.yml
168
+ - spec/designs/crapping_out.yml
169
+ - spec/designs/gauge_1.yml
170
+ - spec/designs/gauge_2.yml
171
+ - spec/designs/gauge_no_name.yml
172
+ - spec/designs/gauge_raw.yml
173
+ - spec/designs/thermo.yml
174
+ - spec/gauges/base_spec.rb
175
+ - spec/gauges/signal_spec.rb
176
+ - spec/gauges/support/area_spec.rb
177
+ - spec/gauges/support/circle_spec.rb
178
+ - spec/gauges/support/image_spec.rb
179
+ - spec/gauges/support/line_spec.rb
180
+ - spec/gauges/support/link_spec.rb
181
+ - spec/gauges/support/move_spec.rb
182
+ - spec/gauges/support/polygon_spec.rb
183
+ - spec/gauges/support/radial_numbers_spec.rb
184
+ - spec/gauges/support/radial_ticks_spec.rb
185
+ - spec/gauges/support/rotate_spec.rb
186
+ - spec/gauges/support/scale_spec.rb
187
+ - spec/gauges/support/text_spec.rb
188
+ - spec/gauges/thermo_spec.rb
143
189
  - spec/helpers/base_helper_spec.rb
144
190
  - spec/spec_helper.rb
191
+ - spec/test_helpers/gauge_2_helper.rb
145
192
  - spec/themes/default/fred.yml
146
193
  - spec/themes/default/line_chart.yml
147
194
  - spec/utils/logger_spec.rb
@@ -182,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
229
  requirements: []
183
230
 
184
231
  rubyforge_project: ziya
185
- rubygems_version: 1.0.1
232
+ rubygems_version: 1.2.0
186
233
  signing_key:
187
234
  specification_version: 2
188
235
  summary: Easily add charting to your rails/merb applications