├── MIT-LICENSE
├── README
├── Rakefile
├── assets
├── javascripts
│ └── swfobject.js
├── open-flash-chart-bar-clicking.swf
└── open-flash-chart.swf
├── init.rb
├── install.rb
├── lib
├── open_flash_chart.rb
└── open_flash_chart
│ ├── area_base.rb
│ ├── area_hollow.rb
│ ├── area_line.rb
│ ├── arrow.rb
│ ├── background.rb
│ ├── bar.rb
│ ├── bar_3d.rb
│ ├── bar_base.rb
│ ├── bar_filled.rb
│ ├── bar_glass.rb
│ ├── bar_sketch.rb
│ ├── bar_stack.rb
│ ├── base.rb
│ ├── candle.rb
│ ├── chart.rb
│ ├── dot_base.rb
│ ├── h_bar.rb
│ ├── legend.rb
│ ├── line.rb
│ ├── line_base.rb
│ ├── line_dot.rb
│ ├── line_hollow.rb
│ ├── line_style.rb
│ ├── linear_regression.rb
│ ├── menu.rb
│ ├── ofc_ajax.rb
│ ├── open_flash_chart_object.rb
│ ├── pie.rb
│ ├── radar_axis.rb
│ ├── radar_axis_labels.rb
│ ├── radar_spoke_labels.rb
│ ├── scatter.rb
│ ├── scatter_line.rb
│ ├── shape.rb
│ ├── sugar.rb
│ ├── tags.rb
│ ├── title.rb
│ ├── tooltip.rb
│ ├── upload_image.rb
│ ├── x_axis.rb
│ ├── x_axis_label.rb
│ ├── x_axis_labels.rb
│ ├── x_legend.rb
│ ├── y_axis.rb
│ ├── y_axis_base.rb
│ ├── y_axis_label.rb
│ ├── y_axis_labels.rb
│ ├── y_axis_right.rb
│ ├── y_legend.rb
│ └── y_legend_right.rb
├── tasks
└── open_flash_chart_tasks.rake
├── test
└── open_flash_chart_test.rb
└── uninstall.rb
/MIT-LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2008 [name of plugin creator]
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/README:
--------------------------------------------------------------------------------
1 | OpenFlashChart Version 2.0.0 11/14/2008
2 | ==============
3 |
4 | 1) rails ofc2_test_app
5 | 2) cd ofc2_test_app
6 | 3) script/plugin install git://github.com/pullmonkey/open_flash_chart.git
7 | 3.1) If the install didn't copy the contents of the assets directory to your RAILS_ROOT/public directory, make sure to do so.
8 | 4) script/generate controller test_it
9 |
10 | 5) Add the following to the test_it_controller.rb in RAILS_ROOT/app/controllers:
11 | class TestItController < ApplicationController
12 |
13 | def index
14 | respond_to do |wants|
15 | wants.html {
16 | @graph = open_flash_chart_object( 600, 300, url_for( :action => 'index', :format => :json ) )
17 | }
18 | wants.json {
19 | chart = OpenFlashChart.new( "MY TITLE" ) do |c|
20 | c << BarGlass.new( :values => (1..10).sort_by{rand} )
21 | end
22 | render :text => chart, :layout => false
23 | }
24 | end
25 | end
26 |
27 | end
28 |
29 | 6) Add the following to index.html.erb in RAILS_ROOT/app/views/test_it/:
30 |
31 |
32 |
33 |
34 |
35 | <%= @graph %>
36 |
37 |
38 |
39 | 7) script/server
40 | 8) Let me know how it goes, thanks.
41 |
42 |
43 | Example
44 | =======
45 |
46 | Example above and more to follow here - http://www.pullmonkey.com/projects/open_flash_chart
47 |
48 | Notes
49 | ======
50 | The plugin breaks if the json gem is included, because of the way that the gem generates json vs the rails native json generator.
51 |
52 | Not tested, but klochner claims to have implemented a fix for it here - http://github.com/klochner/open_flash_chart/commit/00cf531387880af8c49ed5118737f0492b437f75
53 |
54 | Copyright (c) 2008 PullMonkey, released under the MIT license
55 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | require 'rake'
2 | require 'rake/testtask'
3 | require 'rake/rdoctask'
4 |
5 | desc 'Default: run unit tests.'
6 | task :default => :test
7 |
8 | desc 'Test the open_flash_chart plugin.'
9 | Rake::TestTask.new(:test) do |t|
10 | t.libs << 'lib'
11 | t.pattern = 'test/**/*_test.rb'
12 | t.verbose = true
13 | end
14 |
15 | desc 'Generate documentation for the open_flash_chart plugin.'
16 | Rake::RDocTask.new(:rdoc) do |rdoc|
17 | rdoc.rdoc_dir = 'rdoc'
18 | rdoc.title = 'OpenFlashChart'
19 | rdoc.options << '--line-numbers' << '--inline-source'
20 | rdoc.rdoc_files.include('README')
21 | rdoc.rdoc_files.include('lib/**/*.rb')
22 | end
23 |
--------------------------------------------------------------------------------
/assets/javascripts/swfobject.js:
--------------------------------------------------------------------------------
1 | /* SWFObject v2.1
2 | Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
3 | This software is released under the MIT License
4 | */
5 | var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("
14 | #{self.to_open_flash_chart_data(div_name)}
15 |
16 | OUTPUT
17 | end
18 |
19 | def link_to_ofc_load(link_text, div_name)
20 | data_name = "#{link_text.gsub(" ","_")}_#{div_name.gsub(" ","_")}"
21 | <<-OUTPUT
22 |
29 | #{ActionView::Base.new.link_to_function link_text, "load_#{data_name}()"}
30 | OUTPUT
31 | end
32 |
33 | def link_to_remote_ofc_load(link_text, div_name, url)
34 | fx_name = "#{link_text.gsub(" ","_")}_#{div_name.gsub(" ","_")}"
35 | <<-OUTPUT
36 |
45 | #{ActionView::Base.new.link_to_function link_text, "reload_#{fx_name}()"}
46 | OUTPUT
47 | end
48 |
49 | def periodically_call_to_remote_ofc_load(div_name, url, options={})
50 | fx_name = "#{div_name.gsub(" ","_")}"
51 | # fix a bug in rails with url_for
52 | url = url.gsub("&","&")
53 | <<-OUTPUT
54 |
63 | #{periodically_call_function("reload_#{fx_name}()", options)}
64 | OUTPUT
65 | end
66 |
67 | def findSWF_method
68 | <<-OUTPUT
69 | function findSWF(movieName) {
70 | if (navigator.appName.indexOf("Microsoft")!= -1) {
71 | return window[movieName];
72 | } else {
73 | return document[movieName];
74 | }
75 | }
76 | OUTPUT
77 | end
78 |
79 | def to_open_flash_chart_data(id="in", options={})
80 | # this builds the open_flash_chart_data js function
81 | <<-OUTPUT
82 |
92 | OUTPUT
93 | end
94 |
95 | def save_as_image(post_url, options={})
96 | id = options[:id] || "in"
97 |
98 | <<-OUTPUT
99 |
113 | OUTPUT
114 | end
115 | end
116 | end
117 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/open_flash_chart_object.rb:
--------------------------------------------------------------------------------
1 | require 'digest/sha1'
2 |
3 | module OpenFlashChart
4 | module Controller
5 | def open_flash_chart_object(width, height, url, use_swfobject=true, base="/", swf_file_name="open-flash-chart.swf")
6 | get_object_values(url)
7 | get_html(@ofc_url, @div_name, base, swf_file_name, width, height, @protocol, @obj_id)
8 | end
9 |
10 | # if you want the div name back for working with js, this is the ticket
11 | def open_flash_chart_object_and_div_name(width, height, url, use_swfobject=true, base="/", swf_file_name="open-flash-chart.swf")
12 | get_object_values(url)
13 | html = get_html(@ofc_url, @div_name, base, swf_file_name, width, height, @protocol, @obj_id)
14 | return [html, @div_name]
15 | end
16 |
17 | def open_flash_chart_object_from_hash(url, options={})
18 | get_object_values(url)
19 | get_html(@ofc_url,
20 | options[:div_name] || @div_name,
21 | options[:base] || "/",
22 | options[:swf_file_name] || "open-flash-chart.swf",
23 | options[:width] || 550,
24 | options[:height] || 300,
25 | options[:protocol] || @protocol,
26 | options[:obj_id] || @obj_id)
27 | end
28 |
29 | def get_object_values(url)
30 | @ofc_url = CGI::escape(url)
31 | # need something that will not be repeated on the same request
32 | @special_hash = Base64.encode64(Digest::SHA1.digest("#{rand(1<<64)}/#{Time.now.to_f}/#{Process.pid}/#{@ofc_url}"))[0..7]
33 | # only good characters for our div
34 | @special_hash = @special_hash.gsub(/[^a-zA-Z0-9]/,rand(10).to_s)
35 | @obj_id = "chart_#{@special_hash}" # some sequencing without all the work of tracking it
36 | @div_name = "flash_content_#{@special_hash}"
37 | @protocol = "http" # !request.nil? ? request.env["HTTPS"] || "http" : "http"
38 | end
39 |
40 | def get_html(url, div_name, base, swf_file_name, width, height, protocol, obj_id)
41 | # NOTE: users should put this in the section themselves:
42 | ##
43 |
44 | <<-HTML
45 |
46 |
49 | HTML
50 | end
51 | end
52 |
53 | end
54 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/pie.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class PieValue < Base
4 | def initialize(value, label, args={})
5 | super args
6 | @value = value
7 | @label = label
8 | @animate = []
9 | end
10 |
11 | def set_label(label, label_color, font_size)
12 | self.label = label
13 | self.label_colour = label_color
14 | self.font_size = font_size
15 | end
16 |
17 | def on_click(event)
18 | @on_click = event
19 | end
20 |
21 | def add_animation animation
22 | @animate ||= []
23 | @animate << animation
24 | return self
25 | end
26 | end
27 |
28 | class BasePieAnimation < Base; end
29 |
30 | class PieFade < BasePieAnimation
31 | def initialize args={}
32 | @type = "fade"
33 | super
34 | end
35 | end
36 |
37 | class PieBounce < BasePieAnimation
38 | def initialize distance, args={}
39 | @type = "bounce"
40 | @distance = distance
41 | super
42 | end
43 | end
44 |
45 | class Pie < Base
46 | def initialize args={}
47 | @type = "pie"
48 | @colours = []
49 | super
50 | end
51 |
52 | def set_animate bool
53 | self.add_animation PieFade.new if bool
54 | end
55 |
56 | def add_animation animation
57 | @animate ||= []
58 | @animate << animation
59 | return self
60 | end
61 |
62 | def set_gradient_fill
63 | @gradient_fill = true
64 | end
65 |
66 | def set_no_labels
67 | @no_labels = true
68 | end
69 |
70 | def on_click(event)
71 | @on_click = event
72 | end
73 | end
74 |
75 | end
76 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/radar_axis.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class RadarAxis < Base
4 | def initialize(max, args={})
5 | super args
6 | @max = max
7 | end
8 | end
9 |
10 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/radar_axis_labels.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class RadarAxisLabels < Base
4 | def initialize(labels, args={})
5 | super args
6 | @labels = labels
7 | end
8 | end
9 |
10 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/radar_spoke_labels.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class RadarSpokeLabels < Base
4 | def initialize(labels, args={})
5 | super args
6 | @labels = labels
7 | end
8 | end
9 |
10 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/scatter.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class ScatterValue < Base
4 | def initialize(x,y,dot_size=-1, args={})
5 | super args
6 | @x = x
7 | @y = y
8 | @dot_size = dot_size if dot_size.to_i > 0
9 | end
10 | end
11 |
12 | class Scatter < Base
13 | def initialize(colour, dot_style=nil, args={})
14 | @type = "scatter"
15 | @colour = colour
16 | @dot_style = dot_style
17 | @values = []
18 | super args
19 | end
20 | end
21 |
22 | end
23 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/scatter_line.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class ScatterLine < Base
4 | def initialize(colour, width, args={})
5 | super args
6 | @type = 'scatter_line'
7 | @colour = colour
8 | @width = width
9 | end
10 |
11 | def set_step_horizonal
12 | @stepgraph = 'horizontal'
13 | end
14 |
15 | def set_step_vertical
16 | @stepgraph = 'vertical'
17 | end
18 | end
19 |
20 | end
21 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/shape.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class ShapePoint < Base
4 | def initialize(x, y, args={})
5 | super args
6 | @x = x
7 | @y = y
8 | end
9 | end
10 |
11 | class Shape < Base
12 | def initialize(colour, args={})
13 | @type = "shape"
14 | @colour = colour
15 | @values = []
16 | super args
17 | end
18 | end
19 |
20 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/sugar.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 | class SStar < Star
3 | def initialize(colour, size, args={})
4 | super args
5 | @colour = colour
6 | @size = size
7 | end
8 | end
9 |
10 | class SBox < Anchor
11 | def initialize(colour, size, args={})
12 | super args
13 | @colour = colour
14 | @size = size
15 | @sides = 4
16 | @rotation = 45
17 | end
18 | end
19 |
20 | class SHollowDot < HollowDot
21 | def initialize(colour, size, args={})
22 | super args
23 | @colour = colour
24 | @size = size
25 | end
26 | end
27 | end
28 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/tags.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 | class OFCTags < Base
3 | def initialize args={}
4 | super args
5 | @type = 'tags'
6 | @values = []
7 | end
8 |
9 | def font(font, size)
10 | @font = font
11 | @font_size = size
12 | end
13 |
14 | def padding(x,y)
15 | @pad_x = x
16 | @pad_y = y
17 | end
18 |
19 | def align_x_center
20 | @align_x = "center"
21 | end
22 |
23 | def align_x_left
24 | @align_x = "left"
25 | end
26 |
27 | def align_x_right
28 | @align_x = "right"
29 | end
30 |
31 | def align_y_above
32 | @align_y = "above"
33 | end
34 |
35 | def align_y_below
36 | @align_y = "below"
37 | end
38 |
39 | def align_y_center
40 | @align_y = "center"
41 | end
42 |
43 | def style(bold, underline, border, alpha)
44 | @bold = bold
45 | @border = border
46 | @underline = underline
47 | @alpha = alpha
48 | end
49 |
50 | def append_tag(tag)
51 | @values << tag
52 | end
53 | end
54 |
55 | class OFCTag < Base
56 | def initialize(x,y, args={})
57 | super args
58 | @x = x
59 | @y = y
60 | end
61 | end
62 | end
63 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/title.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class Title < Base
4 | def initialize(text='', args = {})
5 | super args
6 | @text = text
7 | end
8 | end
9 |
10 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/tooltip.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class Tooltip < Base
4 | def set_body_style(style)
5 | @body = style
6 | end
7 |
8 | def set_title_style(style)
9 | @title = style
10 | end
11 |
12 | def set_background_colour(bg)
13 | @background = bg
14 | end
15 |
16 | def set_proximity
17 | @mouse = 1
18 | end
19 |
20 | def set_hover
21 | @mouse = 2
22 | end
23 | end
24 |
25 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/upload_image.rb:
--------------------------------------------------------------------------------
1 | # TODO
2 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/x_axis.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class XAxis < Base
4 | def set_3d(v)
5 | @threed = v
6 | end
7 | # for some reason the json that needs to be produced is like this:
8 | # "x_axis": { "offset": false, "labels": { "labels": [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] } }
9 | # note the "labels":{"labels": ....}
10 | def set_labels(labels)
11 | @labels = labels
12 | @labels = {:labels => labels} unless labels.is_a?(XAxisLabels)
13 | end
14 |
15 | alias_method :labels=, :set_labels
16 | end
17 |
18 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/x_axis_label.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class XAxisLabel < Base
4 | def initialize(text, colour, size, rotate, args={})
5 | super args
6 | @text = text
7 | @colour = colour
8 | @size = size
9 | @rotate = rotate
10 | end
11 |
12 | def set_vertical
13 | @rotate = "vertical"
14 | end
15 |
16 | def set_visible
17 | @visible = true
18 | end
19 | end
20 |
21 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/x_axis_labels.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class XAxisLabels < Base
4 | def set_vertical
5 | @rotate = 270
6 | end
7 | end
8 |
9 | end
10 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/x_legend.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class XLegend < Base
4 | def initialize(text, args={})
5 | super args
6 | @text = text
7 | end
8 | end
9 |
10 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/y_axis.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 | class YAxis < YAxisBase ; end
3 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/y_axis_base.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 | class YAxisBase < Base
3 | def set_vertical
4 | @rotate = "vertical"
5 | end
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/y_axis_label.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 | class YAxisLabel < Base
3 | def initialize(y, text)
4 | @y = y
5 | @text = text
6 | end
7 |
8 | def set_vertical
9 | @rotate = "vertical"
10 | end
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/y_axis_labels.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 | class YAxisLabels < Base
3 | def set_vertical
4 | @rotate = 270
5 | end
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/y_axis_right.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 | class YAxisRight < YAxisBase
3 | end
4 | end
5 |
--------------------------------------------------------------------------------
/lib/open_flash_chart/y_legend.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class YLegend < Base
4 | def initialize(text = '', args={})
5 | super args
6 | @text = text
7 | end
8 | end
9 |
10 | end
--------------------------------------------------------------------------------
/lib/open_flash_chart/y_legend_right.rb:
--------------------------------------------------------------------------------
1 | module OpenFlashChart
2 |
3 | class YLegendRight < YLegend
4 | end
5 |
6 | end
7 |
--------------------------------------------------------------------------------
/tasks/open_flash_chart_tasks.rake:
--------------------------------------------------------------------------------
1 | # desc "Explaining what the task does"
2 | # task :open_flash_chart do
3 | # # Task goes here
4 | # end
5 |
--------------------------------------------------------------------------------
/test/open_flash_chart_test.rb:
--------------------------------------------------------------------------------
1 | require 'test/unit'
2 |
3 | class OpenFlashChartTest < Test::Unit::TestCase
4 | # Replace this with your real tests.
5 | def test_this_plugin
6 | flunk
7 | end
8 | end
9 |
--------------------------------------------------------------------------------
/uninstall.rb:
--------------------------------------------------------------------------------
1 | # Uninstall hook code here
2 |
--------------------------------------------------------------------------------