ziya 2.0.7 → 2.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (612) hide show
  1. data/Manifest.txt +561 -89
  2. data/README.txt +203 -108
  3. data/Rakefile +7 -6
  4. data/bin/ziyafy +38 -14
  5. data/docs/History.txt.html +50 -0
  6. data/docs/README.txt.html +403 -0
  7. data/docs/String.html +832 -0
  8. data/docs/Ziya.html +636 -0
  9. data/docs/Ziya/Charts.html +909 -0
  10. data/docs/Ziya/Charts/Area.html +672 -0
  11. data/docs/Ziya/Charts/AreaThreed.html +672 -0
  12. data/docs/Ziya/Charts/Bar.html +672 -0
  13. data/docs/Ziya/Charts/Base.html +1101 -0
  14. data/docs/Ziya/Charts/Bubble.html +672 -0
  15. data/docs/Ziya/Charts/CandleStick.html +672 -0
  16. data/docs/Ziya/Charts/Column.html +672 -0
  17. data/docs/Ziya/Charts/ColumnThreed.html +672 -0
  18. data/docs/Ziya/Charts/Custom.html +672 -0
  19. data/docs/Ziya/Charts/Donut.html +672 -0
  20. data/docs/Ziya/Charts/FloatingBar.html +672 -0
  21. data/docs/Ziya/Charts/FloatingColumn.html +672 -0
  22. data/docs/Ziya/Charts/ImageColumn.html +672 -0
  23. data/docs/Ziya/Charts/ImagePie.html +672 -0
  24. data/docs/Ziya/Charts/Line.html +672 -0
  25. data/docs/Ziya/Charts/Mixed.html +672 -0
  26. data/docs/Ziya/Charts/ParallelThreedColumn.html +672 -0
  27. data/docs/Ziya/Charts/Pie.html +672 -0
  28. data/docs/Ziya/Charts/PieThreed.html +672 -0
  29. data/docs/Ziya/Charts/Polar.html +672 -0
  30. data/docs/Ziya/Charts/Scatter.html +672 -0
  31. data/docs/Ziya/Charts/StackedArea.html +672 -0
  32. data/docs/Ziya/Charts/StackedBar.html +672 -0
  33. data/docs/Ziya/Charts/StackedColumn.html +672 -0
  34. data/docs/Ziya/Charts/StackedThreedArea.html +672 -0
  35. data/docs/Ziya/Charts/StackedThreedColumn.html +672 -0
  36. data/docs/Ziya/Charts/Support.html +1245 -0
  37. data/docs/Ziya/Charts/Support/Area.html +582 -0
  38. data/docs/Ziya/Charts/Support/AxisCategory.html +583 -0
  39. data/docs/Ziya/Charts/Support/AxisTicks.html +644 -0
  40. data/docs/Ziya/Charts/Support/AxisValue.html +583 -0
  41. data/docs/Ziya/Charts/Support/Base.html +577 -0
  42. data/docs/Ziya/Charts/Support/Bevel.html +583 -0
  43. data/docs/Ziya/Charts/Support/Blur.html +583 -0
  44. data/docs/Ziya/Charts/Support/Button.html +583 -0
  45. data/docs/Ziya/Charts/Support/ChartBorder.html +582 -0
  46. data/docs/Ziya/Charts/Support/ChartGridH.html +616 -0
  47. data/docs/Ziya/Charts/Support/ChartGridV.html +616 -0
  48. data/docs/Ziya/Charts/Support/ChartGuide.html +582 -0
  49. data/docs/Ziya/Charts/Support/ChartLabel.html +583 -0
  50. data/docs/Ziya/Charts/Support/ChartNote.html +582 -0
  51. data/docs/Ziya/Charts/Support/ChartPref.html +589 -0
  52. data/docs/Ziya/Charts/Support/ChartRect.html +632 -0
  53. data/docs/Ziya/Charts/Support/ChartTransition.html +613 -0
  54. data/docs/Ziya/Charts/Support/Circle.html +583 -0
  55. data/docs/Ziya/Charts/Support/ContextMenu.html +583 -0
  56. data/docs/Ziya/Charts/Support/Draw.html +886 -0
  57. data/docs/Ziya/Charts/Support/DrawBase.html +577 -0
  58. data/docs/Ziya/Charts/Support/Filter.html +668 -0
  59. data/docs/Ziya/Charts/Support/FlashToJavascript.html +596 -0
  60. data/docs/Ziya/Charts/Support/Glow.html +583 -0
  61. data/docs/Ziya/Charts/Support/Image.html +583 -0
  62. data/docs/Ziya/Charts/Support/Legend.html +582 -0
  63. data/docs/Ziya/Charts/Support/Line.html +583 -0
  64. data/docs/Ziya/Charts/Support/Link.html +734 -0
  65. data/docs/Ziya/Charts/Support/LinkData.html +589 -0
  66. data/docs/Ziya/Charts/Support/Rect.html +583 -0
  67. data/docs/Ziya/Charts/Support/Scroll.html +583 -0
  68. data/docs/Ziya/Charts/Support/Series.html +583 -0
  69. data/docs/Ziya/Charts/Support/SeriesColor.html +676 -0
  70. data/docs/Ziya/Charts/Support/SeriesExplode.html +676 -0
  71. data/docs/Ziya/Charts/Support/Shadow.html +583 -0
  72. data/docs/Ziya/Charts/Support/Text.html +664 -0
  73. data/docs/Ziya/Charts/Support/Tooltip.html +583 -0
  74. data/docs/Ziya/Charts/Support/Update.html +590 -0
  75. data/docs/Ziya/Gauges.html +644 -0
  76. data/docs/Ziya/Gauges/Base.html +1052 -0
  77. data/docs/Ziya/Gauges/Radial.html +654 -0
  78. data/docs/Ziya/Gauges/Signal.html +794 -0
  79. data/docs/Ziya/Gauges/Support.html +726 -0
  80. data/docs/Ziya/Gauges/Support/Area.html +577 -0
  81. data/docs/Ziya/Gauges/Support/Base.html +690 -0
  82. data/docs/Ziya/Gauges/Support/Circle.html +577 -0
  83. data/docs/Ziya/Gauges/Support/Design.html +577 -0
  84. data/docs/Ziya/Gauges/Support/Image.html +577 -0
  85. data/docs/Ziya/Gauges/Support/Line.html +577 -0
  86. data/docs/Ziya/Gauges/Support/Link.html +577 -0
  87. data/docs/Ziya/Gauges/Support/Move.html +577 -0
  88. data/docs/Ziya/Gauges/Support/Point.html +577 -0
  89. data/docs/Ziya/Gauges/Support/Polygon.html +577 -0
  90. data/docs/Ziya/Gauges/Support/RadialBase.html +654 -0
  91. data/docs/Ziya/Gauges/Support/RadialNumbers.html +694 -0
  92. data/docs/Ziya/Gauges/Support/RadialTicks.html +676 -0
  93. data/docs/Ziya/Gauges/Support/Rect.html +577 -0
  94. data/docs/Ziya/Gauges/Support/Rotate.html +577 -0
  95. data/docs/Ziya/Gauges/Support/Scale.html +577 -0
  96. data/docs/Ziya/Gauges/Support/Text.html +656 -0
  97. data/docs/Ziya/Gauges/Support/Update.html +577 -0
  98. data/docs/Ziya/Gauges/Thermo.html +826 -0
  99. data/docs/Ziya/HtmlHelpers.html +597 -0
  100. data/docs/Ziya/HtmlHelpers/Charts.html +1399 -0
  101. data/docs/Ziya/HtmlHelpers/Gauges.html +987 -0
  102. data/docs/Ziya/HtmlHelpers/Maps.html +950 -0
  103. data/docs/Ziya/Maps.html +713 -0
  104. data/docs/Ziya/Maps/Australia.html +648 -0
  105. data/docs/Ziya/Maps/Base.html +1099 -0
  106. data/docs/Ziya/Maps/Belgium.html +648 -0
  107. data/docs/Ziya/Maps/Brazil.html +648 -0
  108. data/docs/Ziya/Maps/Canada.html +648 -0
  109. data/docs/Ziya/Maps/Europe.html +648 -0
  110. data/docs/Ziya/Maps/France.html +648 -0
  111. data/docs/Ziya/Maps/Geocode.html +752 -0
  112. data/docs/Ziya/Maps/Germany.html +648 -0
  113. data/docs/Ziya/Maps/Italy.html +648 -0
  114. data/docs/Ziya/Maps/Mexico.html +648 -0
  115. data/docs/Ziya/Maps/Support.html +798 -0
  116. data/docs/Ziya/Maps/Support/Arc.html +577 -0
  117. data/docs/Ziya/Maps/Support/ArcColor.html +577 -0
  118. data/docs/Ziya/Maps/Support/ArcRange.html +577 -0
  119. data/docs/Ziya/Maps/Support/BackgroundColor.html +577 -0
  120. data/docs/Ziya/Maps/Support/Base.html +792 -0
  121. data/docs/Ziya/Maps/Support/DefaultColor.html +577 -0
  122. data/docs/Ziya/Maps/Support/DefaultPoint.html +577 -0
  123. data/docs/Ziya/Maps/Support/FirstZoom.html +577 -0
  124. data/docs/Ziya/Maps/Support/HeatRange.html +658 -0
  125. data/docs/Ziya/Maps/Support/Hover.html +577 -0
  126. data/docs/Ziya/Maps/Support/Line.html +577 -0
  127. data/docs/Ziya/Maps/Support/LineColor.html +577 -0
  128. data/docs/Ziya/Maps/Support/LineRange.html +577 -0
  129. data/docs/Ziya/Maps/Support/OutlineColor.html +577 -0
  130. data/docs/Ziya/Maps/Support/Point.html +577 -0
  131. data/docs/Ziya/Maps/Support/PointRange.html +577 -0
  132. data/docs/Ziya/Maps/Support/Range.html +753 -0
  133. data/docs/Ziya/Maps/Support/Ranges.html +658 -0
  134. data/docs/Ziya/Maps/Support/Region.html +577 -0
  135. data/docs/Ziya/Maps/Support/ScalePoints.html +577 -0
  136. data/docs/Ziya/Maps/Support/ShowName.html +577 -0
  137. data/docs/Ziya/Maps/Support/State.html +577 -0
  138. data/docs/Ziya/Maps/Support/StateInfoIcon.html +577 -0
  139. data/docs/Ziya/Maps/Support/ZoomMode.html +577 -0
  140. data/docs/Ziya/Maps/Support/ZoomOutButton.html +577 -0
  141. data/docs/Ziya/Maps/Support/ZoomOutScale.html +577 -0
  142. data/docs/Ziya/Maps/Sweden.html +648 -0
  143. data/docs/Ziya/Maps/Uk.html +648 -0
  144. data/docs/Ziya/Maps/Us.html +648 -0
  145. data/docs/Ziya/Maps/World.html +648 -0
  146. data/docs/Ziya/YamlHelpers.html +592 -0
  147. data/docs/Ziya/YamlHelpers/Gauges.html +848 -0
  148. data/docs/Ziya/YamlHelpers/Maps.html +750 -0
  149. data/docs/Ziya/Ziyafy.html +735 -0
  150. data/docs/bin/ziyafy.html +52 -0
  151. data/docs/created.rid +1 -0
  152. data/docs/examples/charts/public/charts/themes/readme.txt.html +61 -0
  153. data/docs/examples/maps/public/maps/themes/readme.txt.html +61 -0
  154. data/docs/images/brick.png +0 -0
  155. data/docs/images/brick_link.png +0 -0
  156. data/docs/images/bullet_black.png +0 -0
  157. data/docs/images/date.png +0 -0
  158. data/docs/images/macFFBgHack.png +0 -0
  159. data/docs/images/package.png +0 -0
  160. data/docs/images/page_green.png +0 -0
  161. data/docs/images/page_white_width.png +0 -0
  162. data/docs/images/plugin.png +0 -0
  163. data/docs/images/ruby.png +0 -0
  164. data/docs/images/tag_green.png +0 -0
  165. data/docs/images/wrench.png +0 -0
  166. data/docs/images/wrench_orange.png +0 -0
  167. data/docs/images/zoom.png +0 -0
  168. data/docs/index.html +978 -0
  169. data/docs/js/darkfish.js +91 -0
  170. data/docs/js/jquery.js +32 -0
  171. data/docs/js/quicksearch.js +135 -0
  172. data/docs/js/thickbox-compressed.js +10 -0
  173. data/docs/lib/ziya.rb.html +43 -0
  174. data/docs/lib/ziya/charts/area.rb.html +54 -0
  175. data/docs/lib/ziya/charts/area_threed.rb.html +153 -0
  176. data/docs/lib/ziya/charts/bar.rb.html +45 -0
  177. data/docs/lib/ziya/charts/base.rb.html +71 -0
  178. data/docs/lib/ziya/charts/bubble.rb.html +54 -0
  179. data/docs/lib/ziya/charts/candle_stick.rb.html +45 -0
  180. data/docs/lib/ziya/charts/column.rb.html +45 -0
  181. data/docs/lib/ziya/charts/column_threed.rb.html +45 -0
  182. data/docs/lib/ziya/charts/custom.rb.html +54 -0
  183. data/docs/lib/ziya/charts/donut.rb.html +54 -0
  184. data/docs/lib/ziya/charts/floating_bar.rb.html +45 -0
  185. data/docs/lib/ziya/charts/floating_column.rb.html +45 -0
  186. data/docs/lib/ziya/charts/image_column.rb.html +54 -0
  187. data/docs/lib/ziya/charts/image_pie.rb.html +54 -0
  188. data/docs/lib/ziya/charts/line.rb.html +45 -0
  189. data/docs/lib/ziya/charts/mixed.rb.html +45 -0
  190. data/docs/lib/ziya/charts/parallel_threed_column.rb.html +45 -0
  191. data/docs/lib/ziya/charts/pie.rb.html +45 -0
  192. data/docs/lib/ziya/charts/pie_threed.rb.html +45 -0
  193. data/docs/lib/ziya/charts/polar.rb.html +45 -0
  194. data/docs/lib/ziya/charts/scatter.rb.html +45 -0
  195. data/docs/lib/ziya/charts/stacked_area.rb.html +45 -0
  196. data/docs/lib/ziya/charts/stacked_bar.rb.html +45 -0
  197. data/docs/lib/ziya/charts/stacked_column.rb.html +45 -0
  198. data/docs/lib/ziya/charts/stacked_threed_area.rb.html +45 -0
  199. data/docs/lib/ziya/charts/stacked_threed_column.rb.html +45 -0
  200. data/docs/lib/ziya/charts/support/area.rb.html +56 -0
  201. data/docs/lib/ziya/charts/support/axis_category.rb.html +407 -0
  202. data/docs/lib/ziya/charts/support/axis_ticks.rb.html +48 -0
  203. data/docs/lib/ziya/charts/support/axis_value.rb.html +48 -0
  204. data/docs/lib/ziya/charts/support/base.rb.html +64 -0
  205. data/docs/lib/ziya/charts/support/bevel.rb.html +48 -0
  206. data/docs/lib/ziya/charts/support/blur.rb.html +48 -0
  207. data/docs/lib/ziya/charts/support/button.rb.html +48 -0
  208. data/docs/lib/ziya/charts/support/chart_border.rb.html +48 -0
  209. data/docs/lib/ziya/charts/support/chart_grid_h.rb.html +48 -0
  210. data/docs/lib/ziya/charts/support/chart_grid_v.rb.html +48 -0
  211. data/docs/lib/ziya/charts/support/chart_guide.rb.html +48 -0
  212. data/docs/lib/ziya/charts/support/chart_label.rb.html +49 -0
  213. data/docs/lib/ziya/charts/support/chart_note.rb.html +53 -0
  214. data/docs/lib/ziya/charts/support/chart_pref.rb.html +48 -0
  215. data/docs/lib/ziya/charts/support/chart_rect.rb.html +48 -0
  216. data/docs/lib/ziya/charts/support/chart_transition.rb.html +48 -0
  217. data/docs/lib/ziya/charts/support/circle.rb.html +48 -0
  218. data/docs/lib/ziya/charts/support/context_menu.rb.html +47 -0
  219. data/docs/lib/ziya/charts/support/draw.rb.html +57 -0
  220. data/docs/lib/ziya/charts/support/draw_base.rb.html +48 -0
  221. data/docs/lib/ziya/charts/support/filter.rb.html +52 -0
  222. data/docs/lib/ziya/charts/support/flash_to_javascript.rb.html +48 -0
  223. data/docs/lib/ziya/charts/support/glow.rb.html +48 -0
  224. data/docs/lib/ziya/charts/support/image.rb.html +52 -0
  225. data/docs/lib/ziya/charts/support/legend.rb.html +48 -0
  226. data/docs/lib/ziya/charts/support/line.rb.html +48 -0
  227. data/docs/lib/ziya/charts/support/link.rb.html +48 -0
  228. data/docs/lib/ziya/charts/support/link_data.rb.html +48 -0
  229. data/docs/lib/ziya/charts/support/rect.rb.html +48 -0
  230. data/docs/lib/ziya/charts/support/scroll.rb.html +50 -0
  231. data/docs/lib/ziya/charts/support/series.rb.html +47 -0
  232. data/docs/lib/ziya/charts/support/series_color.rb.html +62 -0
  233. data/docs/lib/ziya/charts/support/series_explode.rb.html +65 -0
  234. data/docs/lib/ziya/charts/support/shadow.rb.html +48 -0
  235. data/docs/lib/ziya/charts/support/text.rb.html +51 -0
  236. data/docs/lib/ziya/charts/support/tooltip.rb.html +53 -0
  237. data/docs/lib/ziya/charts/support/update.rb.html +49 -0
  238. data/docs/lib/ziya/core_ext/string.rb.html +50 -0
  239. data/docs/lib/ziya/gauges/base.rb.html +54 -0
  240. data/docs/lib/ziya/gauges/radial.rb.html +64 -0
  241. data/docs/lib/ziya/gauges/signal.rb.html +49 -0
  242. data/docs/lib/ziya/gauges/support/area.rb.html +57 -0
  243. data/docs/lib/ziya/gauges/support/base.rb.html +39 -0
  244. data/docs/lib/ziya/gauges/support/circle.rb.html +57 -0
  245. data/docs/lib/ziya/gauges/support/design.rb.html +39 -0
  246. data/docs/lib/ziya/gauges/support/image.rb.html +57 -0
  247. data/docs/lib/ziya/gauges/support/line.rb.html +57 -0
  248. data/docs/lib/ziya/gauges/support/link.rb.html +57 -0
  249. data/docs/lib/ziya/gauges/support/move.rb.html +57 -0
  250. data/docs/lib/ziya/gauges/support/point.rb.html +57 -0
  251. data/docs/lib/ziya/gauges/support/polygon.rb.html +57 -0
  252. data/docs/lib/ziya/gauges/support/radial_base.rb.html +58 -0
  253. data/docs/lib/ziya/gauges/support/radial_numbers.rb.html +60 -0
  254. data/docs/lib/ziya/gauges/support/radial_ticks.rb.html +57 -0
  255. data/docs/lib/ziya/gauges/support/rect.rb.html +57 -0
  256. data/docs/lib/ziya/gauges/support/rotate.rb.html +57 -0
  257. data/docs/lib/ziya/gauges/support/scale.rb.html +57 -0
  258. data/docs/lib/ziya/gauges/support/text.rb.html +57 -0
  259. data/docs/lib/ziya/gauges/support/update.rb.html +57 -0
  260. data/docs/lib/ziya/gauges/thermo.rb.html +48 -0
  261. data/docs/lib/ziya/html_helpers.rb.html +39 -0
  262. data/docs/lib/ziya/html_helpers/base.rb.html +48 -0
  263. data/docs/lib/ziya/html_helpers/charts.rb.html +48 -0
  264. data/docs/lib/ziya/html_helpers/gauges.rb.html +48 -0
  265. data/docs/lib/ziya/html_helpers/maps.rb.html +39 -0
  266. data/docs/lib/ziya/maps/australia.rb.html +48 -0
  267. data/docs/lib/ziya/maps/base.rb.html +62 -0
  268. data/docs/lib/ziya/maps/belgium.rb.html +39 -0
  269. data/docs/lib/ziya/maps/brazil.rb.html +39 -0
  270. data/docs/lib/ziya/maps/canada.rb.html +39 -0
  271. data/docs/lib/ziya/maps/europe.rb.html +39 -0
  272. data/docs/lib/ziya/maps/france.rb.html +39 -0
  273. data/docs/lib/ziya/maps/geocode.rb.html +45 -0
  274. data/docs/lib/ziya/maps/germany.rb.html +39 -0
  275. data/docs/lib/ziya/maps/italy.rb.html +39 -0
  276. data/docs/lib/ziya/maps/mexico.rb.html +39 -0
  277. data/docs/lib/ziya/maps/support/arc.rb.html +48 -0
  278. data/docs/lib/ziya/maps/support/arc_color.rb.html +48 -0
  279. data/docs/lib/ziya/maps/support/arc_range.rb.html +48 -0
  280. data/docs/lib/ziya/maps/support/background_color.rb.html +48 -0
  281. data/docs/lib/ziya/maps/support/base.rb.html +48 -0
  282. data/docs/lib/ziya/maps/support/default_color.rb.html +48 -0
  283. data/docs/lib/ziya/maps/support/default_point.rb.html +48 -0
  284. data/docs/lib/ziya/maps/support/first_zoom.rb.html +48 -0
  285. data/docs/lib/ziya/maps/support/heat_range.rb.html +50 -0
  286. data/docs/lib/ziya/maps/support/hover.rb.html +48 -0
  287. data/docs/lib/ziya/maps/support/line.rb.html +48 -0
  288. data/docs/lib/ziya/maps/support/line_color.rb.html +48 -0
  289. data/docs/lib/ziya/maps/support/line_range.rb.html +48 -0
  290. data/docs/lib/ziya/maps/support/outline_color.rb.html +48 -0
  291. data/docs/lib/ziya/maps/support/point.rb.html +48 -0
  292. data/docs/lib/ziya/maps/support/point_range.rb.html +48 -0
  293. data/docs/lib/ziya/maps/support/range.rb.html +48 -0
  294. data/docs/lib/ziya/maps/support/ranges.rb.html +47 -0
  295. data/docs/lib/ziya/maps/support/region.rb.html +48 -0
  296. data/docs/lib/ziya/maps/support/scale_points.rb.html +48 -0
  297. data/docs/lib/ziya/maps/support/show_name.rb.html +48 -0
  298. data/docs/lib/ziya/maps/support/state.rb.html +48 -0
  299. data/docs/lib/ziya/maps/support/state_info_icon.rb.html +48 -0
  300. data/docs/lib/ziya/maps/support/zoom_mode.rb.html +48 -0
  301. data/docs/lib/ziya/maps/support/zoom_out_button.rb.html +48 -0
  302. data/docs/lib/ziya/maps/support/zoom_out_scale.rb.html +48 -0
  303. data/docs/lib/ziya/maps/sweden.rb.html +39 -0
  304. data/docs/lib/ziya/maps/uk.rb.html +39 -0
  305. data/docs/lib/ziya/maps/us.rb.html +39 -0
  306. data/docs/lib/ziya/maps/world.rb.html +39 -0
  307. data/docs/lib/ziya/utils/logger.rb.html +53 -0
  308. data/docs/lib/ziya/version.rb.html +39 -0
  309. data/docs/lib/ziya/yaml_helpers.rb.html +39 -0
  310. data/docs/lib/ziya/yaml_helpers/base.rb.html +48 -0
  311. data/docs/lib/ziya/yaml_helpers/charts.rb.html +50 -0
  312. data/docs/lib/ziya/yaml_helpers/gauges.rb.html +39 -0
  313. data/docs/lib/ziya/yaml_helpers/maps.rb.html +39 -0
  314. data/docs/rdoc.css +664 -0
  315. data/docs/release_notes.txt.html +51 -0
  316. data/docs/resources/charts/themes/readme.txt.html +61 -0
  317. data/docs/resources/maps/themes/readme.txt.html +61 -0
  318. data/examples/charts/basic_chart.rb +55 -0
  319. data/{charts → examples/charts/public/charts}/AC_RunActiveContent.js +0 -0
  320. data/examples/charts/public/charts/charts.swf +0 -0
  321. data/examples/charts/public/charts/charts_library/ar3d.swf +0 -0
  322. data/examples/charts/public/charts/charts_library/arno.swf +0 -0
  323. data/examples/charts/public/charts/charts_library/ars3.swf +0 -0
  324. data/examples/charts/public/charts/charts_library/arst.swf +0 -0
  325. data/examples/charts/public/charts/charts_library/brfl.swf +0 -0
  326. data/examples/charts/public/charts/charts_library/brno.swf +0 -0
  327. data/examples/charts/public/charts/charts_library/brst.swf +0 -0
  328. data/examples/charts/public/charts/charts_library/buno.swf +0 -0
  329. data/examples/charts/public/charts/charts_library/cl3d.swf +0 -0
  330. data/examples/charts/public/charts/charts_library/clfl.swf +0 -0
  331. data/examples/charts/public/charts/charts_library/clim.swf +0 -0
  332. data/examples/charts/public/charts/charts_library/clno.swf +0 -0
  333. data/examples/charts/public/charts/charts_library/clp3.swf +0 -0
  334. data/examples/charts/public/charts/charts_library/cls3.swf +0 -0
  335. data/examples/charts/public/charts/charts_library/clst.swf +0 -0
  336. data/examples/charts/public/charts/charts_library/cnno.swf +0 -0
  337. data/{charts → examples/charts/public/charts}/charts_library/dollar.jpg +0 -0
  338. data/examples/charts/public/charts/charts_library/dono.swf +0 -0
  339. data/examples/charts/public/charts/charts_library/lnno.swf +0 -0
  340. data/examples/charts/public/charts/charts_library/mxno.swf +0 -0
  341. data/examples/charts/public/charts/charts_library/pi3d.swf +0 -0
  342. data/{charts → examples/charts/public/charts}/charts_library/pie.jpg +0 -0
  343. data/examples/charts/public/charts/charts_library/piim.swf +0 -0
  344. data/examples/charts/public/charts/charts_library/pino.swf +0 -0
  345. data/examples/charts/public/charts/charts_library/pono.swf +0 -0
  346. data/examples/charts/public/charts/charts_library/scno.swf +0 -0
  347. data/examples/charts/public/charts/full_screen.fla +0 -0
  348. data/{charts → examples/charts/public/charts}/full_screen.swf +0 -0
  349. data/{charts → examples/charts/public/charts}/scripts/output_jpg.php +0 -0
  350. data/{charts → examples/charts/public/charts}/sliders/black.swf +0 -0
  351. data/{charts → examples/charts/public/charts}/sliders/preview_handle_1.swf +0 -0
  352. data/{charts → examples/charts/public/charts}/sliders/preview_handle_2.swf +0 -0
  353. data/examples/charts/public/charts/themes/cool_theme/column_chart.yml +150 -0
  354. data/examples/charts/public/charts/themes/cool_theme/line_chart.yml +5 -0
  355. data/examples/charts/public/charts/themes/readme.txt +13 -0
  356. data/examples/charts/public/fred.xml +21 -0
  357. data/examples/charts/views/index.erb +17 -0
  358. data/examples/maps/basic_map.rb +63 -0
  359. data/examples/maps/helpers/map_helper.rb +15 -0
  360. data/examples/maps/models/confidential_herpes_report.rb +78 -0
  361. data/examples/maps/public/javascripts/jquery-1.3.2.js +4376 -0
  362. data/examples/maps/public/map.xml +336 -0
  363. data/examples/maps/public/maps/js/Exception.js +45 -0
  364. data/examples/maps/public/maps/js/FlashProxy.js +72 -0
  365. data/examples/maps/public/maps/js/FlashSerializer.js +165 -0
  366. data/examples/maps/public/maps/js/FlashTag.js +111 -0
  367. data/examples/maps/public/maps/js/JavaScriptFlashGateway.js +455 -0
  368. data/examples/maps/public/maps/js/JavaScriptFlashGateway.swf +0 -0
  369. data/examples/maps/public/maps/map_library/australia.swf +0 -0
  370. data/examples/maps/public/maps/map_library/belgium.swf +0 -0
  371. data/examples/maps/public/maps/map_library/brazil.swf +0 -0
  372. data/examples/maps/public/maps/map_library/canada.swf +0 -0
  373. data/examples/maps/public/maps/map_library/europe.swf +0 -0
  374. data/examples/maps/public/maps/map_library/france.swf +0 -0
  375. data/examples/maps/public/maps/map_library/germany.swf +0 -0
  376. data/examples/maps/public/maps/map_library/italy.swf +0 -0
  377. data/examples/maps/public/maps/map_library/mexico.swf +0 -0
  378. data/examples/maps/public/maps/map_library/sweden.swf +0 -0
  379. data/examples/maps/public/maps/map_library/uk_ireland.swf +0 -0
  380. data/examples/maps/public/maps/map_library/us.swf +0 -0
  381. data/examples/maps/public/maps/map_library/us_canada.swf +0 -0
  382. data/examples/maps/public/maps/map_library/world.swf +0 -0
  383. data/examples/maps/public/maps/themes/default/base_map.yml +27 -0
  384. data/examples/maps/public/maps/themes/default/us_map.yml +20 -0
  385. data/examples/maps/public/maps/themes/default/us_map_2.yml +17 -0
  386. data/examples/maps/public/maps/themes/readme.txt +13 -0
  387. data/examples/maps/public/stylesheets/map.css +16 -0
  388. data/examples/maps/views/index.erb +26 -0
  389. data/examples/maps/views/layout.erb +21 -0
  390. data/gem_script.rb +5 -0
  391. data/lib/ziya.rb +20 -11
  392. data/lib/ziya/charts/base.rb +114 -90
  393. data/lib/ziya/{components → charts/support}/area.rb +2 -2
  394. data/lib/ziya/{components → charts/support}/axis_category.rb +1 -1
  395. data/lib/ziya/{components → charts/support}/axis_ticks.rb +1 -1
  396. data/lib/ziya/{components → charts/support}/axis_value.rb +1 -1
  397. data/lib/ziya/{components → charts/support}/base.rb +9 -21
  398. data/lib/ziya/{components → charts/support}/bevel.rb +1 -1
  399. data/lib/ziya/{components → charts/support}/blur.rb +1 -1
  400. data/lib/ziya/{components → charts/support}/button.rb +1 -1
  401. data/lib/ziya/{components → charts/support}/chart_border.rb +1 -1
  402. data/lib/ziya/{components → charts/support}/chart_grid_h.rb +1 -1
  403. data/lib/ziya/{components → charts/support}/chart_grid_v.rb +1 -1
  404. data/lib/ziya/{components → charts/support}/chart_guide.rb +1 -1
  405. data/lib/ziya/{components → charts/support}/chart_label.rb +1 -1
  406. data/lib/ziya/{components → charts/support}/chart_note.rb +1 -1
  407. data/lib/ziya/{components → charts/support}/chart_pref.rb +3 -2
  408. data/lib/ziya/{components → charts/support}/chart_rect.rb +1 -1
  409. data/lib/ziya/{components → charts/support}/chart_transition.rb +1 -1
  410. data/lib/ziya/{components → charts/support}/circle.rb +1 -1
  411. data/lib/ziya/{components → charts/support}/context_menu.rb +1 -3
  412. data/lib/ziya/charts/support/draw.rb +76 -0
  413. data/lib/ziya/{components → charts/support}/draw_base.rb +1 -1
  414. data/lib/ziya/{components → charts/support}/filter.rb +1 -1
  415. data/lib/ziya/charts/support/flash_to_javascript.rb +23 -0
  416. data/lib/ziya/{components → charts/support}/glow.rb +1 -1
  417. data/lib/ziya/{components → charts/support}/image.rb +1 -1
  418. data/lib/ziya/{components → charts/support}/legend.rb +1 -1
  419. data/lib/ziya/{components → charts/support}/line.rb +1 -1
  420. data/lib/ziya/{components → charts/support}/link.rb +9 -1
  421. data/lib/ziya/{components → charts/support}/link_data.rb +1 -1
  422. data/lib/ziya/{components → charts/support}/rect.rb +1 -1
  423. data/lib/ziya/{components → charts/support}/scroll.rb +1 -3
  424. data/lib/ziya/{components → charts/support}/series.rb +1 -3
  425. data/lib/ziya/{components → charts/support}/series_color.rb +1 -1
  426. data/lib/ziya/{components → charts/support}/series_explode.rb +1 -1
  427. data/lib/ziya/{components → charts/support}/shadow.rb +1 -1
  428. data/lib/ziya/{components → charts/support}/text.rb +9 -1
  429. data/lib/ziya/{components → charts/support}/tooltip.rb +1 -1
  430. data/lib/ziya/{components → charts/support}/update.rb +1 -1
  431. data/lib/ziya/core_ext/string.rb +31 -0
  432. data/lib/ziya/gauges/base.rb +17 -12
  433. data/lib/ziya/gauges/support/base.rb +4 -12
  434. data/lib/ziya/gauges/support/radial_numbers.rb +1 -1
  435. data/lib/ziya/html_helpers.rb +1 -0
  436. data/lib/ziya/html_helpers/base.rb +91 -0
  437. data/lib/ziya/html_helpers/charts.rb +200 -0
  438. data/lib/ziya/html_helpers/gauges.rb +90 -0
  439. data/lib/ziya/html_helpers/maps.rb +74 -0
  440. data/lib/ziya/maps/australia.rb +9 -0
  441. data/lib/ziya/maps/base.rb +409 -0
  442. data/lib/ziya/maps/belgium.rb +7 -0
  443. data/lib/ziya/maps/brazil.rb +7 -0
  444. data/lib/ziya/maps/canada.rb +7 -0
  445. data/lib/ziya/maps/europe.rb +7 -0
  446. data/lib/ziya/maps/france.rb +7 -0
  447. data/lib/ziya/maps/geocode.rb +18 -0
  448. data/lib/ziya/maps/germany.rb +7 -0
  449. data/lib/ziya/maps/italy.rb +7 -0
  450. data/lib/ziya/maps/mexico.rb +7 -0
  451. data/lib/ziya/maps/support/arc.rb +7 -0
  452. data/lib/ziya/maps/support/arc_color.rb +7 -0
  453. data/lib/ziya/maps/support/arc_range.rb +7 -0
  454. data/lib/ziya/maps/support/background_color.rb +7 -0
  455. data/lib/ziya/maps/support/base.rb +34 -0
  456. data/lib/ziya/maps/support/default_color.rb +7 -0
  457. data/lib/ziya/maps/support/default_point.rb +7 -0
  458. data/lib/ziya/maps/support/first_zoom.rb +7 -0
  459. data/lib/ziya/maps/support/heat_range.rb +35 -0
  460. data/lib/ziya/maps/support/hover.rb +7 -0
  461. data/lib/ziya/maps/support/line.rb +7 -0
  462. data/lib/ziya/maps/support/line_color.rb +7 -0
  463. data/lib/ziya/maps/support/line_range.rb +7 -0
  464. data/lib/ziya/maps/support/outline_color.rb +7 -0
  465. data/lib/ziya/maps/support/point.rb +8 -0
  466. data/lib/ziya/maps/support/point_range.rb +7 -0
  467. data/lib/ziya/maps/support/range.rb +31 -0
  468. data/lib/ziya/maps/support/ranges.rb +18 -0
  469. data/lib/ziya/maps/support/region.rb +7 -0
  470. data/lib/ziya/maps/support/scale_points.rb +7 -0
  471. data/lib/ziya/maps/support/show_name.rb +7 -0
  472. data/lib/ziya/maps/support/state.rb +7 -0
  473. data/lib/ziya/maps/support/state_info_icon.rb +7 -0
  474. data/lib/ziya/maps/support/zoom_mode.rb +7 -0
  475. data/lib/ziya/maps/support/zoom_out_button.rb +7 -0
  476. data/lib/ziya/maps/support/zoom_out_scale.rb +7 -0
  477. data/lib/ziya/maps/sweden.rb +7 -0
  478. data/lib/ziya/maps/uk.rb +7 -0
  479. data/lib/ziya/maps/us.rb +7 -0
  480. data/lib/ziya/maps/world.rb +7 -0
  481. data/lib/ziya/version.rb +3 -3
  482. data/lib/ziya/yaml_helpers.rb +1 -0
  483. data/lib/ziya/yaml_helpers/base.rb +20 -0
  484. data/lib/ziya/yaml_helpers/charts.rb +49 -0
  485. data/lib/ziya/yaml_helpers/gauges.rb +33 -0
  486. data/lib/ziya/yaml_helpers/maps.rb +17 -0
  487. data/resources/charts/AC_RunActiveContent.js +292 -0
  488. data/resources/charts/charts.swf +0 -0
  489. data/resources/charts/charts_library/ar3d.swf +0 -0
  490. data/resources/charts/charts_library/arno.swf +0 -0
  491. data/resources/charts/charts_library/ars3.swf +0 -0
  492. data/resources/charts/charts_library/arst.swf +0 -0
  493. data/resources/charts/charts_library/brfl.swf +0 -0
  494. data/resources/charts/charts_library/brno.swf +0 -0
  495. data/resources/charts/charts_library/brst.swf +0 -0
  496. data/resources/charts/charts_library/buno.swf +0 -0
  497. data/resources/charts/charts_library/cl3d.swf +0 -0
  498. data/resources/charts/charts_library/clfl.swf +0 -0
  499. data/resources/charts/charts_library/clim.swf +0 -0
  500. data/resources/charts/charts_library/clno.swf +0 -0
  501. data/resources/charts/charts_library/clp3.swf +0 -0
  502. data/resources/charts/charts_library/cls3.swf +0 -0
  503. data/resources/charts/charts_library/clst.swf +0 -0
  504. data/resources/charts/charts_library/cnno.swf +0 -0
  505. data/resources/charts/charts_library/dono.swf +0 -0
  506. data/resources/charts/charts_library/lnno.swf +0 -0
  507. data/resources/charts/charts_library/mxno.swf +0 -0
  508. data/resources/charts/charts_library/pi3d.swf +0 -0
  509. data/resources/charts/charts_library/piim.swf +0 -0
  510. data/resources/charts/charts_library/pino.swf +0 -0
  511. data/resources/charts/charts_library/pono.swf +0 -0
  512. data/resources/charts/charts_library/scno.swf +0 -0
  513. data/resources/charts/full_screen.fla +0 -0
  514. data/resources/charts/full_screen.swf +0 -0
  515. data/resources/charts/scripts/output_jpg.php +23 -0
  516. data/resources/charts/sliders/black.swf +0 -0
  517. data/resources/charts/sliders/preview_handle_1.swf +0 -0
  518. data/resources/charts/sliders/preview_handle_2.swf +0 -0
  519. data/resources/charts/themes/readme.txt +13 -0
  520. data/{gauges → resources/gauges}/designs/circle.yml +0 -0
  521. data/{gauges → resources/gauges}/designs/signal.yml +0 -0
  522. data/{gauges → resources/gauges}/designs/thermo.yml +0 -0
  523. data/{gauges → resources/gauges}/designs/title.yml +0 -0
  524. data/{gauges → resources/gauges}/gauge.swf +0 -0
  525. data/resources/maps/js/Exception.js +45 -0
  526. data/resources/maps/js/FlashProxy.js +72 -0
  527. data/resources/maps/js/FlashSerializer.js +165 -0
  528. data/resources/maps/js/FlashTag.js +111 -0
  529. data/resources/maps/js/JavaScriptFlashGateway.js +455 -0
  530. data/resources/maps/js/JavaScriptFlashGateway.swf +0 -0
  531. data/resources/maps/map_library/australia.swf +0 -0
  532. data/resources/maps/map_library/belgium.swf +0 -0
  533. data/resources/maps/map_library/brazil.swf +0 -0
  534. data/resources/maps/map_library/canada.swf +0 -0
  535. data/resources/maps/map_library/europe.swf +0 -0
  536. data/resources/maps/map_library/france.swf +0 -0
  537. data/resources/maps/map_library/germany.swf +0 -0
  538. data/resources/maps/map_library/italy.swf +0 -0
  539. data/resources/maps/map_library/mexico.swf +0 -0
  540. data/resources/maps/map_library/sweden.swf +0 -0
  541. data/resources/maps/map_library/uk_ireland.swf +0 -0
  542. data/resources/maps/map_library/us.swf +0 -0
  543. data/resources/maps/map_library/us_canada.swf +0 -0
  544. data/resources/maps/map_library/world.swf +0 -0
  545. data/resources/maps/themes/readme.txt +13 -0
  546. data/spec/charts/base_spec.rb +7 -6
  547. data/spec/charts/chart_type_spec.rb +11 -4
  548. data/spec/{components → charts/support}/area_spec.rb +8 -8
  549. data/spec/charts/support/chart_pref_spec.rb +36 -0
  550. data/spec/charts/support/draw_spec.rb +41 -0
  551. data/spec/{components → charts/support}/filter_spec.rb +6 -6
  552. data/spec/{components → charts/support}/link_spec.rb +6 -6
  553. data/spec/{components → charts/support}/series.rb +4 -4
  554. data/spec/{components → charts/support}/series_color_spec.rb +4 -4
  555. data/spec/{components → charts/support}/series_explode.rb +4 -4
  556. data/spec/{components → charts/support}/series_explode_spec.rb +4 -4
  557. data/spec/core_ext/string_spec.rb +40 -0
  558. data/spec/gauges/base_spec.rb +1 -1
  559. data/spec/html_helpers/base_spec.rb +50 -0
  560. data/spec/html_helpers/charts_spec.rb +23 -0
  561. data/spec/html_helpers/gauges_spec.rb +16 -0
  562. data/spec/html_helpers/maps_spec.rb +20 -0
  563. data/spec/maps/base_spec.rb +82 -0
  564. data/spec/maps/support/default_color_spec.rb +29 -0
  565. data/spec/maps/support/heat_range_spec.rb +29 -0
  566. data/spec/maps/us_spec.rb +12 -0
  567. data/spec/maps/world_spec.rb +18 -0
  568. data/spec/spec_helper.rb +5 -4
  569. data/spec/themes/maps/base_map.yml +81 -0
  570. data/spec/themes/maps/us_map.yml +6 -0
  571. data/spec/themes/maps/world_map.yml +6 -0
  572. data/spec/themes/maps/world_ov_map.yml +6 -0
  573. data/spec/{helpers/base_helper_spec.rb → yaml_helpers/charts_spec.rb} +10 -13
  574. data/spec/yaml_helpers/gauges_spec.rb +15 -0
  575. data/spec/ziya_helper_spec.rb +118 -116
  576. data/tasks/doc.rake +12 -7
  577. data/tasks/gem.rake +1 -1
  578. data/tasks/setup.rb +1 -1
  579. data/ziya.gemspec +40 -0
  580. metadata +582 -94
  581. data/charts/charts.swf +0 -0
  582. data/charts/charts_library/ar3d.swf +0 -0
  583. data/charts/charts_library/arno.swf +0 -0
  584. data/charts/charts_library/ars3.swf +0 -0
  585. data/charts/charts_library/arst.swf +0 -0
  586. data/charts/charts_library/brfl.swf +0 -0
  587. data/charts/charts_library/brno.swf +0 -0
  588. data/charts/charts_library/brst.swf +0 -0
  589. data/charts/charts_library/buno.swf +0 -0
  590. data/charts/charts_library/cl3d.swf +0 -0
  591. data/charts/charts_library/clfl.swf +0 -0
  592. data/charts/charts_library/clim.swf +0 -0
  593. data/charts/charts_library/clno.swf +0 -0
  594. data/charts/charts_library/clp3.swf +0 -0
  595. data/charts/charts_library/cls3.swf +0 -0
  596. data/charts/charts_library/clst.swf +0 -0
  597. data/charts/charts_library/cnno.swf +0 -0
  598. data/charts/charts_library/dono.swf +0 -0
  599. data/charts/charts_library/lnno.swf +0 -0
  600. data/charts/charts_library/mxno.swf +0 -0
  601. data/charts/charts_library/pi3d.swf +0 -0
  602. data/charts/charts_library/piim.swf +0 -0
  603. data/charts/charts_library/pino.swf +0 -0
  604. data/charts/charts_library/pono.swf +0 -0
  605. data/charts/charts_library/scno.swf +0 -0
  606. data/charts/ziya.js +0 -66
  607. data/lib/ziya/components/draw.rb +0 -47
  608. data/lib/ziya/helpers/base_helper.rb +0 -91
  609. data/lib/ziya/utils/text.rb +0 -39
  610. data/lib/ziya/ziya_helper.rb +0 -354
  611. data/spec/components/draw_spec.rb +0 -32
  612. data/spec/utils/text_spec.rb +0 -33
@@ -0,0 +1,90 @@
1
+ # Generates necessary html flash tag to support ZiYa
2
+ #
3
+ # TODO -- Rewrite to use content tag block instead...
4
+ #
5
+ # Author: Fernand Galiana
6
+
7
+ module Ziya::HtmlHelpers::Gauges
8
+ include Ziya::HtmlHelpers::Base
9
+
10
+ # generates necessary html tags to display a gauge.
11
+ def ziya_gauge( url, gauge_options={} )
12
+ options = default_gauge_options.merge( gauge_options )
13
+ _ziya_gauge( url, gauges_swf, options )
14
+ end
15
+
16
+ # =========================================================================
17
+ # private
18
+
19
+ # Const accessors...
20
+ def gauges_swf() "%s/gauge.swf?xml_source=%s"; end
21
+ def gauge_path() "/gauges"; end
22
+ def class_id() "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" end
23
+ def codebase() "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0"; end
24
+
25
+ def default_gauge_options
26
+ { :width => "200",
27
+ :height => "200",
28
+ :align => "middle",
29
+ :scale => "noscale",
30
+ :script_access => "sameDomain",
31
+ :salign => "",
32
+ :class => "",
33
+ :class_id => "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
34
+ :id => "ziya_gauge",
35
+ :swf_path => gauge_path,
36
+ :use_cache => false,
37
+ :timeout => 30,
38
+ :retry => 2,
39
+ :use_stage => false }
40
+ end
41
+
42
+ def _ziya_gauge( url, swf_path, options )
43
+ # Setup options for opaque mode
44
+ setup_wmode( options )
45
+
46
+ # setup width and height
47
+ setup_movie_size( options )
48
+
49
+ color_param = tag( 'param', {:name => 'bgcolor', :value => options[:bgcolor]}, true )
50
+ color_param += tag( 'param', {:name => "wmode", :value => options[:wmode]}, true )
51
+
52
+ xml_swf_path = swf_path % [options[:swf_path], url]
53
+ xml_swf_path << "&amp;timestamp=#{Time.now.to_i}" if options[:use_cache] == true
54
+ xml_swf_path << "&amp;timeout=#{options[:timeout]}&amp;retry=#{options[:retry]}" if options[:timeout]
55
+ xml_swf_path << "&amp;stage_width=#{options[:width]}&amp;stage_height=#{options[:height]}" if options[:use_stage] == true
56
+ tags = <<-TAGS
57
+ <object codebase="#{codebase}" classid="#{options[:class_id]}" id="#{options[:id]}" height="#{options[:height]}" width="#{options[:width]}">
58
+ <param name="scale" value="noscale"/>
59
+ <param name="align" value="#{options[:align]}"/>
60
+ <param name="bgcolor" value="#{options[:bgcolor]}"/>
61
+ <param name="wmode" value="#{options[:wmode]}"/>
62
+ <param name="movie" value="#{xml_swf_path}"/>
63
+ <param name="menu" value="true"/>
64
+ <param name="allowFullScreen" value="true"/>
65
+ <param name="allowScriptAccess" value="#{options[:script_access]}"/>
66
+ <param name="quality" value="high"/>
67
+ <param name="play" value="true"/>
68
+ <param name="devicefont" value="false"/>
69
+ <embed scale="noscale"
70
+ allowfullscreen="true"
71
+ allowscriptaccess="#{options[:script_access]}"
72
+ bgcolor="#{options[:bgcolor]}"
73
+ devicefont="false"
74
+ src="#{xml_swf_path}"
75
+ menu="true"
76
+ name="#{options[:id]}"
77
+ play="true"
78
+ pluginspage="#{plugin_url}"
79
+ quality="high"
80
+ salign="#{options[:salign]}"
81
+ src="#{xml_swf_path}"
82
+ type="#{mime}"
83
+ wmode="#{options[:wmode]}"
84
+ salign="#{options[:salign]}"
85
+ height="#{options[:height]}"
86
+ width="#{options[:width]}">
87
+ </object>
88
+ TAGS
89
+ end
90
+ end
@@ -0,0 +1,74 @@
1
+ module Ziya::HtmlHelpers::Maps
2
+ include Ziya::HtmlHelpers::Base
3
+
4
+ def maps_swf_base() "/maps"; end
5
+ def maps_swf() "#{maps_swf_base}?data_file=%s"; end
6
+
7
+ # default options
8
+ def default_map_options
9
+ {
10
+ :width => "400",
11
+ :height => "300",
12
+ :map_type => :world,
13
+ :id => "ziya_map",
14
+ :code_base => "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0",
15
+ :align => "top",
16
+ :quality => "high",
17
+ :wmode => "opaque",
18
+ :class_id => "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",
19
+ :swf_path => "/maps/map_library",
20
+ :use_cache => false
21
+ }
22
+ end
23
+
24
+ # generates swf path
25
+ def gen_sw_path( path, swf_file, url )
26
+ path_directive = "#{path}/%s?data_file=%s"
27
+ path_directive % [swf_file, escape_url( url )]
28
+ end
29
+
30
+ # generates necessary tags for map support
31
+ def ziya_map( url, map_options={} )
32
+ options = default_map_options.merge( map_options )
33
+ _ziya_map( url, "#{options[:map_type]}.swf", options )
34
+ end
35
+
36
+ # generates actual html tags
37
+ def _ziya_map( url, swf_file, options )
38
+ # Setup options for opaque mode
39
+ setup_wmode( options )
40
+
41
+ # setup width and height
42
+ setup_movie_size( options )
43
+
44
+ color_param = tag( 'param', {:name => 'bgcolor', :value => options[:bgcolor]}, true )
45
+ color_param += tag( 'param', {:name => "wmode", :value => options[:wmode]}, true )
46
+
47
+ xml_swf_path = gen_sw_path( options[:swf_path], swf_file, url )
48
+ xml_swf_path << "&amp;timestamp=#{Time.now.to_i}" if options[:cache]
49
+
50
+ tags = <<-TAGS
51
+ <object codebase="#{options[:codebase]}" classid="#{options[:class_id]}" id="#{options[:id]}" height="#{options[:height]}" width="#{options[:width]}">
52
+ <param name="align" value="#{options[:align]}"/>
53
+ <param name="Flashvars" value="lcId=#{options[:id]}"/>
54
+ <param name="bgcolor" value="#{options[:bgcolor]}"/>
55
+ <param name="wmode" value="#{options[:wmode]}"/>
56
+ <param name="movie" value="#{xml_swf_path}"/>
57
+ <param name="quality" value="#{options[:quality]}"/>
58
+ <embed scale="noscale"
59
+ flashvars = "lcId=#{options[:id]}"
60
+ bgcolor = "#{options[:bgcolor]}"
61
+ src = "#{xml_swf_path}"
62
+ name = "#{options[:id]}"
63
+ pluginspage = "#{plugin_url}"
64
+ quality = "high"
65
+ type = "#{mime}"
66
+ wmode = "#{options[:wmode]}"
67
+ align = "#{options[:align]}"
68
+ height = "#{options[:height]}"
69
+ width = "#{options[:width]}"/>
70
+ </object>
71
+ TAGS
72
+
73
+ end
74
+ end
@@ -0,0 +1,9 @@
1
+ require 'ziya/maps/base'
2
+
3
+ module Ziya::Maps
4
+ class Australia < Ziya::Maps::Base
5
+ def initialize( id=nil )
6
+ super( :australia, id )
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,409 @@
1
+ # -----------------------------------------------------------------------------
2
+ # == Ziya::Maps::Base
3
+ #
4
+ # Maps mother ship
5
+ #
6
+ # Author:: Fernand Galiana
7
+ # Date:: Jan 01 2009
8
+ # -----------------------------------------------------------------------------
9
+ require 'ziya/yaml_helpers/maps'
10
+ require 'ziya/html_helpers/maps'
11
+
12
+ module Ziya::Maps
13
+ class Base
14
+ include Ziya::YamlHelpers::Maps, Ziya::HtmlHelpers::Maps
15
+
16
+ # =========================================================================
17
+ protected
18
+ def self.map_types
19
+ @map_types ||= [
20
+ :australia,
21
+ :belgium,
22
+ :brazil,
23
+ :canada,
24
+ :europe,
25
+ :france,
26
+ :germany,
27
+ :italy,
28
+ :mexico,
29
+ :sweden,
30
+ :uk_ireland,
31
+ :us,
32
+ :us_canada,
33
+ :world ]
34
+ end
35
+
36
+ # defines the various map components
37
+ def self.declare_components # :nodoc:
38
+ @components =
39
+ [
40
+ :arc,
41
+ :arc_color,
42
+ :arc_range,
43
+ :background_color,
44
+ :default_color,
45
+ :default_point,
46
+ :first_zoom,
47
+ :hover,
48
+ :heat_range,
49
+ :line,
50
+ :line_color,
51
+ :line_range,
52
+ :outline_color,
53
+ :point,
54
+ :point_range,
55
+ :ranges,
56
+ :range,
57
+ :region,
58
+ :scale_points,
59
+ :show_name,
60
+ :state,
61
+ :state_info_icon,
62
+ :zoom_mode,
63
+ :zoom_out_button,
64
+ :zoom_out_scale
65
+ ]
66
+ @components.each { |a| attr_accessor a }
67
+ end
68
+ declare_components
69
+
70
+
71
+ # =========================================================================
72
+ public
73
+
74
+ attr_accessor :id, :theme, :options # :nodoc:
75
+ attr_reader :map_type # :nodoc:
76
+
77
+ # create a new map.
78
+ # <tt>chart_id</tt> -- the name of the map stylesheet.
79
+ # NOTE: If map_id is specified the framework will attempt to load the map styles
80
+ # from public/maps/themes/theme_name/map_id.yml
81
+ def initialize( map_type, map_id=nil ) # :nodoc:
82
+ raise "Invalid map type '#{map_type.inspect}'" unless Ziya::Maps::Base.map_types.include?( map_type )
83
+ @id = map_id
84
+ @options = @series = @points = @arcs = @lines = {}
85
+ @line_colors = @range_colors = @point_colors = @arc_colors = {}
86
+ @theme = default_theme
87
+ @map_type = map_type
88
+ initialize_components
89
+ load_helpers( Ziya.helpers_dir ) if Ziya.helpers_dir
90
+ end
91
+
92
+ # class component accessor...
93
+ def self.components # :nodoc:
94
+ @components
95
+ end
96
+
97
+ # default ZiYa theme
98
+ def default_theme # :nodoc:
99
+ File.join( Ziya.map_themes_dir, %w[default] )
100
+ end
101
+
102
+ # load up ERB style helpers
103
+ def load_helpers( helper_dir ) # :nodoc:
104
+ Dir.foreach(helper_dir) do |helper_file|
105
+ next unless helper_file =~ /^([a-z][a-z_]*_helper).rb$/
106
+ Ziya.logger.debug( ">>> ZiYa loading custom helper `#{$1}" )
107
+ # check rails env for autoloader ?
108
+ if defined?(RAILS_ROOT)
109
+ require_dependency File.join(helper_dir, $1)
110
+ else
111
+ require File.join(helper_dir, $1)
112
+ end
113
+ helper_module_name = "Ziya::" + $1.gsub(/(^|_)(.)/) { $2.upcase }
114
+ # helper_module_name = $1.to_s.gsub(/\/(.?)/) { "::" + $1.upcase }.gsub(/(^|_)(.)/) { $2.upcase }
115
+ # if Ziya::Helpers.const_defined?(helper_module_name)
116
+ Ziya.logger.debug( "Include module #{helper_module_name}")
117
+ Ziya::Maps::Base.class_eval("include #{helper_module_name}")
118
+ # end
119
+ end
120
+ end
121
+
122
+ # Add chart components to a given chart.
123
+ #
124
+ # The <tt>args</tt> must contain certain keys for the chart
125
+ # to be displayed correctly.
126
+ #
127
+ # === Directives
128
+ # * <tt>:series</tt> -- Specifies the data points for the map. This must be a hash
129
+ # of region, data pairs. Where the data is also a hash of attributes such as
130
+ # :name, :data, :hover, :url and :target.
131
+ # * <tt>:range_colors</tt> -- Specifies the map of ranges of data values from the
132
+ # series to a color on the map. The range may be an exact value such as 10 or an
133
+ # actual range in the form of 1 - 10. The color must be an hexadecimal value of the
134
+ # form 'ff00ff'.
135
+ # * <tt>:point_colors</tt> -- Specifies a map of valid color ranges to color the points
136
+ # on the map. Valid key/value pairs are a number or range for the key and an
137
+ # associated color.
138
+ # * <tt>:arc_colors</tt> -- Specifies a map of valid color ranges to color the arcs
139
+ # on the map. Valid key/value pairs are a number or range for the key and an
140
+ # associated color.
141
+ # * <tt>:line_colors</tt> -- Specifies a map of valid color ranges to color the lines
142
+ # on the map. Valid key/value pairs are a number or range for the key and an
143
+ # associated color.
144
+ # * <tt>:lines</tt> -- Specifies a map of lines to plot on the map. These are key/value pairs.
145
+ # The value represent the name of the line to be displayed. The value is a hash of attributes
146
+ # as follows: :start, the geocode location of the point, :stop, the geocode location of the arc to end at
147
+ # :stroke, the thickness of the line and :data for the range value of the arc.
148
+ # * <tt>:arcs</tt> -- Specifies a map of arcs to plot on the map. These are key/value pairs.
149
+ # The value represent the name of the arc to be displayed. The value is a hash of attributes
150
+ # as follows: :start, the geocode location of the point, :stop, the geocode location of the arc to end at
151
+ # and :data for the range value of the arc.
152
+ # * <tt>:points</tt> -- Specifies a map of points to plot on the map. These are key/value pairs.
153
+ # The value represent the name of the point to be displayed. The value is a hash of attributes
154
+ # as follows: :loc for the geocode location of the point and :data for the range value of the point.
155
+ # * <tt>:theme</tt> -- Specify the use of a given named theme. The named theme must
156
+ # reside in a directory named equaly under your application public/charts/themes.
157
+ #
158
+ # === Examples
159
+ # Colorize colorado and california on a US map
160
+ # my_map.add( :series, { :CO => { :name => "Colorado", :data => 1 }, :CA => { :name => "California", :data => 2 } )
161
+ def add( *args )
162
+ # TODO Validation categories = series, series = labels, etc...
163
+ directive = args.shift
164
+ case directive
165
+ when :series
166
+ if args.first.is_a?( Hash )
167
+ points = args.shift || {}
168
+ raise ArgumentError, "Must specify an hash of data points" if points.empty?
169
+ @series = points
170
+ else
171
+ raise ArgumentError, "Must specify an hash of data points"
172
+ end
173
+ when :range_colors
174
+ @range_colors = args.shift || {}
175
+ raise ArgumentError, "You must specify a hash of data range/color pairs" if @range_colors.empty?
176
+ when :lines
177
+ @lines = args.shift || {}
178
+ raise ArgumentError, "You must specify a hash of lines attributes" if @lines.empty?
179
+ when :line_colors
180
+ @line_colors = args.shift || {}
181
+ raise ArgumentError, "You must specify a hash of line range/color pairs" if @line_colors.empty?
182
+ when :arcs
183
+ @arcs = args.shift || {}
184
+ raise ArgumentError, "You must specify a hash of arcs attributes" if @arcs.empty?
185
+ when :arc_colors
186
+ @arc_colors = args.shift || {}
187
+ raise ArgumentError, "You must specify a hash of arc range/color pairs" if @arc_colors.empty?
188
+ when :points
189
+ @points = args.shift || {}
190
+ raise ArgumentError, "You must specify a hash of points attributes" if @points.empty?
191
+ when :point_colors
192
+ @point_colors = args.shift || {}
193
+ raise ArgumentError, "You must specify a hash of point range/color pairs" if @point_colors.empty?
194
+ when :user_data
195
+ key = args.first.is_a?(Symbol) ? args.shift : ""
196
+ raise ArgumentError, "Must specify a key" if key.to_s.empty?
197
+ value = args.shift
198
+ # raise ArgumentError, "Must specify a value" if value.empty?
199
+ @options[key] = value
200
+ when :theme
201
+ theme = args.first.is_a?(String) ? args.shift : ""
202
+ raise ArgumentError, "Must specify a theme name" if theme.to_s.empty?
203
+ @theme = "#{Ziya.map_themes_dir}/#{theme}"
204
+ else raise ArgumentError, "Invalid directive must be one of " +
205
+ ":series, :theme, :user_data"
206
+ end
207
+ end
208
+
209
+ # spews the map specification to a string
210
+ def to_s
211
+ @xml = Builder::XmlMarkup.new
212
+ # Forces utf8 encoding on xml stream
213
+ @xml.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
214
+ if map_type == :us
215
+ @xml.us_states do
216
+ setup_lnf
217
+ setup_series
218
+ end
219
+ else
220
+ @xml.countrydata do
221
+ setup_lnf
222
+ setup_series
223
+ end
224
+ end
225
+ @xml.to_s.gsub( /<to_s\/>/, '' )
226
+ end
227
+ # dumps the map design to xml for client side consumption
228
+ alias to_xml to_s
229
+
230
+ # =========================================================================
231
+ private
232
+
233
+ # inflate object state based on object hierarchy
234
+ def setup_state( state )
235
+ override = self.class.name == state.class.name
236
+ Base.components.each do |comp|
237
+ instance_eval "#{comp}.merge( state.#{comp}, override ) unless state.#{comp}.nil?"
238
+ end
239
+ end
240
+
241
+ # load yaml file associated with class if any
242
+ def inflate( clazz, theme, instance=nil )
243
+ class_name = clazz.to_s.gsub( /Ziya::Maps/, '' ).underscore.gsub( /\//, '' )
244
+ class_name += '_map' unless class_name.match( /.?_map$/ )
245
+ begin
246
+ file_name = "#{theme}/#{class_name}"
247
+ file_name = "#{theme}/#{instance}" unless instance.nil?
248
+ Ziya.logger.debug ">>> Ziya attempt to load map stylesheet file '#{file_name}"
249
+ yml = IO.read( "#{file_name}.yml" )
250
+ processed = erb_render( yml )
251
+ # puts ">>> Processed yaml", processed
252
+ load = YAML::load( processed )
253
+ Ziya.logger.debug ">>> ZiYa [loading map styles] -- #{file_name}.yml"
254
+ # puts load.inspect
255
+ return load
256
+ rescue SystemCallError => boom
257
+ Ziya.logger.debug "ERROR #{boom}"
258
+ ; # ignore if no style file...
259
+ rescue => bang
260
+ Ziya.logger.debug ">>> ZiYa -- Error encountered loading map file `#{file_name} -- #{bang}"
261
+ bang.backtrace.each { |l| Ziya.logger.debug( l ) }
262
+ end
263
+ nil
264
+ end
265
+
266
+ # parse erb template if any
267
+ def erb_render(fixture_content)
268
+ b = binding
269
+ ERB.new(fixture_content).result b
270
+ end
271
+
272
+ # lay down the map data points and color ranges
273
+ def setup_series
274
+ @series.keys.sort{ |a,b| a.to_s <=> b.to_s }.each do |s|
275
+ hash = @series[s]
276
+ @xml.state( :id => s ) do |xml|
277
+ hash.keys.sort{ |a,b| a.to_s <=> b.to_s}.each do |k|
278
+ self.class.module_eval "xml.#{k}( '#{hash[k]}' )"
279
+ end
280
+ end
281
+ end
282
+
283
+ # lay down points if any?
284
+ @points.keys.sort.each do |name|
285
+ @xml.state( :id => "point" ) do |xml|
286
+ xml.name( name )
287
+ @points[name].keys.sort { |a,b| a.to_s <=> b.to_s }.each do |attr|
288
+ self.class.module_eval "xml.#{attr}( '#{@points[name][attr]}' )"
289
+ end
290
+ end
291
+ end
292
+
293
+ # lay down points if any?
294
+ @lines.keys.sort.each do |name|
295
+ @xml.state( :id => "line" ) do |xml|
296
+ xml.name( name )
297
+ @lines[name].keys.sort { |a,b| a.to_s <=> b.to_s }.each do |attr|
298
+ self.class.module_eval "xml.#{attr}( '#{@lines[name][attr]}' )"
299
+ end
300
+ end
301
+ end
302
+
303
+ @arcs.keys.sort.each do |name|
304
+ @xml.state( :id => "arc" ) do |xml|
305
+ xml.name( name )
306
+ @arcs[name].keys.sort { |a,b| a.to_s <=> b.to_s }.each do |attr|
307
+ self.class.module_eval "xml.#{attr}( '#{@arcs[name][attr]}' )"
308
+ end
309
+ end
310
+ end
311
+
312
+ # lay down range colors if any
313
+ unless @range_colors.empty?
314
+ @range_colors.each_pair do |range, color|
315
+ @xml.state( :id => 'range' ) do
316
+ @xml.data( range )
317
+ @xml.color( color )
318
+ end
319
+ end
320
+ end
321
+
322
+ # lay down point range colors if any
323
+ unless @point_colors.empty?
324
+ @point_colors.each_pair do |range, color|
325
+ @xml.state( :id => 'point_range' ) do
326
+ @xml.data( range )
327
+ @xml.color( color )
328
+ end
329
+ end
330
+ end
331
+
332
+ # lay down line range colors if any
333
+ unless @line_colors.empty?
334
+ @line_colors.each_pair do |range, color|
335
+ @xml.state( :id => 'line_range' ) do
336
+ @xml.data( range )
337
+ @xml.color( color )
338
+ end
339
+ end
340
+ end
341
+
342
+ # lay down arc range colors if any
343
+ unless @arc_colors.empty?
344
+ @arc_colors.each_pair do |range, color|
345
+ @xml.state( :id => 'arc_range' ) do
346
+ @xml.data( range )
347
+ @xml.color( color )
348
+ end
349
+ end
350
+ end
351
+
352
+ end
353
+
354
+ # walk up class hierarchy to find chart inheritance classes
355
+ def ancestors
356
+ ancestors = self.class.ancestors.reverse
357
+ allow = false
358
+ ancestors.map do |k|
359
+ allow = true if k == Ziya::Maps::Base
360
+ k if allow
361
+ end.compact!
362
+ end
363
+
364
+ # load up look and feel data
365
+ def load_lnf
366
+ unless @partial
367
+ ancestors.each do |super_class|
368
+ # Load class instance prefs
369
+ if ( super_class == self.class )
370
+ o = inflate( super_class, theme )
371
+ setup_state( o ) unless o.nil?
372
+ # Now load instance prefs if any
373
+ unless id.nil?
374
+ o = inflate( super_class, theme, id )
375
+ setup_state( o ) unless o.nil?
376
+ end
377
+ # Otherwise load parent prefs...
378
+ else
379
+ o = inflate( super_class, theme, nil )
380
+ setup_state( o ) unless o.nil?
381
+ end
382
+ end
383
+ end
384
+ # Additional styles specified ? if so load them
385
+ unless @options[:styles].nil?
386
+ o = YAML::load( erb_render( @options[:styles] ) )
387
+ setup_state( o ) unless o.nil?
388
+ end
389
+ end
390
+
391
+ # generates xml for look and feel data
392
+ def setup_lnf
393
+ load_lnf
394
+ Base.components.sort { |a,b| a.to_s <=> b.to_s }.each do |comp|
395
+ next unless self.send( comp ).configured?
396
+ instance_eval "#{comp}.flatten( @xml )"
397
+ end
398
+ end
399
+
400
+ # load up the allowable map components
401
+ def initialize_components
402
+ # Setup instance vars
403
+ Base.components.each do |comp|
404
+ instance_var = lambda { |v| self.instance_eval{ instance_variable_set "@#{comp}", v } }
405
+ instance_var.call(Ziya::Maps::Support.const_get( comp.to_s.classify ).new)
406
+ end
407
+ end
408
+ end
409
+ end