ziya 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +74 -28
- data/README.txt +91 -14
- data/Rakefile +1 -1
- data/bin/ziyafy +2 -0
- data/charts/AC_RunActiveContent.js +292 -0
- data/charts/charts.swf +0 -0
- data/charts/charts_library/ar3d.swf +0 -0
- data/charts/charts_library/arno.swf +0 -0
- data/charts/charts_library/ars3.swf +0 -0
- data/charts/charts_library/arst.swf +0 -0
- data/charts/charts_library/brfl.swf +0 -0
- data/charts/charts_library/brno.swf +0 -0
- data/charts/charts_library/brst.swf +0 -0
- data/charts/charts_library/buno.swf +0 -0
- data/charts/charts_library/cl3d.swf +0 -0
- data/charts/charts_library/clfl.swf +0 -0
- data/charts/charts_library/clno.swf +0 -0
- data/charts/charts_library/clp3.swf +0 -0
- data/charts/charts_library/cls3.swf +0 -0
- data/charts/charts_library/clst.swf +0 -0
- data/charts/charts_library/cnno.swf +0 -0
- data/charts/charts_library/lnno.swf +0 -0
- data/charts/charts_library/mxno.swf +0 -0
- data/charts/charts_library/pi3d.swf +0 -0
- data/charts/charts_library/pino.swf +0 -0
- data/charts/charts_library/pono.swf +0 -0
- data/charts/charts_library/scno.swf +0 -0
- data/charts/full_screen.swf +0 -0
- data/charts/sliders/black.swf +0 -0
- data/charts/sliders/preview_handle_1.swf +0 -0
- data/charts/sliders/preview_handle_2.swf +0 -0
- data/fred.rb +36 -0
- data/gauges/designs/circle.yml +18 -0
- data/gauges/designs/signal.yml +14 -0
- data/gauges/designs/thermo.yml +119 -0
- data/gauges/designs/title.yml +11 -0
- data/gauges/gauge.swf +0 -0
- data/lib/ziya.rb +17 -5
- data/lib/ziya/charts/area.rb +6 -1
- data/lib/ziya/charts/area_threed.rb +16 -0
- data/lib/ziya/charts/bar.rb +8 -3
- data/lib/ziya/charts/base.rb +210 -153
- data/lib/ziya/charts/bubble.rb +18 -0
- data/lib/ziya/charts/candle_stick.rb +6 -1
- data/lib/ziya/charts/column.rb +7 -2
- data/lib/ziya/charts/column_threed.rb +6 -1
- data/lib/ziya/charts/floating_bar.rb +6 -1
- data/lib/ziya/charts/floating_column.rb +7 -2
- data/lib/ziya/charts/line.rb +7 -2
- data/lib/ziya/charts/mixed.rb +5 -0
- data/lib/ziya/charts/parallel_threed_column.rb +6 -1
- data/lib/ziya/charts/pie.rb +7 -2
- data/lib/ziya/charts/pie_threed.rb +7 -2
- data/lib/ziya/charts/polar.rb +6 -1
- data/lib/ziya/charts/scatter.rb +6 -1
- data/lib/ziya/charts/stacked_area.rb +5 -0
- data/lib/ziya/charts/stacked_bar.rb +5 -0
- data/lib/ziya/charts/stacked_column.rb +7 -2
- data/lib/ziya/charts/stacked_threed_area.rb +16 -0
- data/lib/ziya/charts/stacked_threed_column.rb +6 -1
- data/lib/ziya/components/area.rb +5 -2
- data/lib/ziya/components/axis_category.rb +8 -60
- data/lib/ziya/components/axis_ticks.rb +25 -27
- data/lib/ziya/components/axis_value.rb +5 -48
- data/lib/ziya/components/base.rb +59 -17
- data/lib/ziya/components/bevel.rb +15 -0
- data/lib/ziya/components/blur.rb +13 -0
- data/lib/ziya/components/chart_border.rb +4 -23
- data/lib/ziya/components/chart_grid_h.rb +17 -19
- data/lib/ziya/components/chart_grid_v.rb +18 -19
- data/lib/ziya/components/chart_guide.rb +16 -0
- data/lib/ziya/components/chart_label.rb +16 -0
- data/lib/ziya/components/chart_pref.rb +12 -12
- data/lib/ziya/components/chart_rect.rb +27 -26
- data/lib/ziya/components/chart_transition.rb +15 -16
- data/lib/ziya/components/circle.rb +5 -2
- data/lib/ziya/components/draw.rb +12 -11
- data/lib/ziya/components/draw_base.rb +10 -0
- data/lib/ziya/components/filter.rb +26 -0
- data/lib/ziya/components/glow.rb +14 -0
- data/lib/ziya/components/image.rb +5 -1
- data/lib/ziya/components/legend.rb +18 -0
- data/lib/ziya/components/line.rb +6 -2
- data/lib/ziya/components/link.rb +9 -9
- data/lib/ziya/components/link_data.rb +9 -10
- data/lib/ziya/components/rect.rb +7 -2
- data/lib/ziya/components/scroll.rb +26 -0
- data/lib/ziya/components/shadow.rb +14 -0
- data/lib/ziya/components/text.rb +5 -1
- data/lib/ziya/components/update.rb +19 -0
- data/lib/ziya/gauges/base.rb +172 -0
- data/lib/ziya/gauges/radial.rb +18 -0
- data/lib/ziya/gauges/signal.rb +138 -0
- data/lib/ziya/gauges/support/area.rb +13 -0
- data/lib/ziya/gauges/support/base.rb +33 -0
- data/lib/ziya/gauges/support/circle.rb +14 -0
- data/lib/ziya/gauges/support/design.rb +5 -0
- data/lib/ziya/gauges/support/image.rb +12 -0
- data/lib/ziya/gauges/support/line.rb +12 -0
- data/lib/ziya/gauges/support/link.rb +24 -0
- data/lib/ziya/gauges/support/move.rb +15 -0
- data/lib/ziya/gauges/support/point.rb +12 -0
- data/lib/ziya/gauges/support/polygon.rb +13 -0
- data/lib/ziya/gauges/support/radial_base.rb +21 -0
- data/lib/ziya/gauges/support/radial_numbers.rb +41 -0
- data/lib/ziya/gauges/support/radial_ticks.rb +29 -0
- data/lib/ziya/gauges/support/rect.rb +14 -0
- data/lib/ziya/gauges/support/rotate.rb +15 -0
- data/lib/ziya/gauges/support/scale.rb +15 -0
- data/lib/ziya/gauges/support/text.rb +21 -0
- data/lib/ziya/gauges/support/update.rb +12 -0
- data/lib/ziya/gauges/thermo.rb +121 -0
- data/lib/ziya/helpers/base_helper.rb +39 -6
- data/lib/ziya/utils/text.rb +6 -0
- data/lib/ziya/version.rb +1 -1
- data/lib/ziya/ziya_helper.rb +289 -62
- data/spec/charts/base_spec.rb +35 -21
- data/spec/charts/chart_type_spec.rb +24 -3
- data/spec/components/area_spec.rb +9 -2
- data/spec/components/draw_spec.rb +1 -2
- data/spec/components/filter_spec.rb +27 -0
- data/spec/components/link_spec.rb +1 -2
- data/spec/components/series_color_spec.rb +1 -2
- data/spec/components/series_explode_spec.rb +1 -2
- data/spec/components/series_switch_spec.rb +1 -2
- data/spec/designs/circle.yml +7 -0
- data/spec/designs/crapping_out.yml +8 -0
- data/spec/designs/gauge_1.yml +43 -0
- data/spec/designs/gauge_2.yml +11 -0
- data/spec/designs/gauge_no_name.yml +43 -0
- data/spec/designs/gauge_raw.yml +5 -0
- data/spec/designs/thermo.yml +13 -0
- data/spec/gauges/base_spec.rb +90 -0
- data/spec/gauges/signal_spec.rb +36 -0
- data/spec/gauges/support/area_spec.rb +40 -0
- data/spec/gauges/support/circle_spec.rb +78 -0
- data/spec/gauges/support/image_spec.rb +35 -0
- data/spec/gauges/support/line_spec.rb +34 -0
- data/spec/gauges/support/link_spec.rb +35 -0
- data/spec/gauges/support/move_spec.rb +45 -0
- data/spec/gauges/support/polygon_spec.rb +36 -0
- data/spec/gauges/support/radial_numbers_spec.rb +35 -0
- data/spec/gauges/support/radial_ticks_spec.rb +30 -0
- data/spec/gauges/support/rotate_spec.rb +45 -0
- data/spec/gauges/support/scale_spec.rb +46 -0
- data/spec/gauges/support/text_spec.rb +40 -0
- data/spec/gauges/thermo_spec.rb +49 -0
- data/spec/helpers/base_helper_spec.rb +20 -6
- data/spec/spec_helper.rb +4 -1
- data/spec/test_helpers/gauge_2_helper.rb +17 -0
- data/spec/utils/logger_spec.rb +1 -3
- data/spec/utils/text_spec.rb +1 -2
- data/spec/ziya_helper_spec.rb +88 -11
- data/spec/ziya_spec.rb +1 -1
- data/tasks/gem.rake +1 -1
- metadata +79 -32
- data/charts/themes/commando/bar_chart.yml +0 -9
- data/charts/themes/commando/base_chart.yml +0 -65
- data/charts/themes/commando/column_chart.yml +0 -13
- data/charts/themes/commando/column_threed_chart.yml +0 -25
- data/charts/themes/commando/parallel_threed_column_chart.yml +0 -17
- data/charts/themes/commando/pie_chart.yml +0 -22
- data/charts/themes/commando/pie_threed_chart.yml +0 -28
- data/charts/themes/commando/polar_chart.yml +0 -11
- data/charts/themes/commando/stacked_bar_chart.yml +0 -9
- data/charts/themes/commando/stacked_column_chart.yml +0 -14
- data/charts/themes/commando/stacked_threed_column_chart.yml +0 -17
- data/charts/themes/default/bar_chart.yml +0 -3
- data/charts/themes/default/base_chart.yml +0 -67
- data/charts/themes/default/column_chart.yml +0 -13
- data/charts/themes/default/column_threed_chart.yml +0 -25
- data/charts/themes/default/parallel_threed_column_chart.yml +0 -17
- data/charts/themes/default/pie_chart.yml +0 -29
- data/charts/themes/default/pie_threed_chart.yml +0 -28
- data/charts/themes/default/polar_chart.yml +0 -12
- data/charts/themes/default/stacked_bar_chart.yml +0 -3
- data/charts/themes/default/stacked_column_chart.yml +0 -14
- data/charts/themes/default/stacked_threed_column_chart.yml +0 -17
- data/charts/themes/default/test.yml +0 -4
- data/lib/ziya/components/chart_value.rb +0 -71
- data/lib/ziya/components/legend_label.rb +0 -18
- data/lib/ziya/components/legend_rect.rb +0 -19
- data/lib/ziya/components/legend_transition.rb +0 -18
- 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
|
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
|
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
|
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
|
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
|
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
|
data/spec/spec_helper.rb
CHANGED
@@ -4,4 +4,7 @@ require 'spec'
|
|
4
4
|
require File.join( File.dirname(__FILE__), %w[.. lib ziya] )
|
5
5
|
|
6
6
|
# Init ZiYa...
|
7
|
-
|
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
|
data/spec/utils/logger_spec.rb
CHANGED
data/spec/utils/text_spec.rb
CHANGED
data/spec/ziya_helper_spec.rb
CHANGED
@@ -1,30 +1,97 @@
|
|
1
|
-
require
|
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
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
|
-
|
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 =
|
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 =
|
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=\"<blee>\" 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
|
data/spec/ziya_spec.rb
CHANGED
data/tasks/gem.rake
CHANGED
@@ -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:
|
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-
|
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.
|
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/
|
60
|
-
- charts/
|
61
|
-
- charts/
|
62
|
-
- charts/
|
63
|
-
-
|
64
|
-
-
|
65
|
-
-
|
66
|
-
-
|
67
|
-
-
|
68
|
-
-
|
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/
|
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
|
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
|