webroar 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. data/CHANGELOG +7 -0
  2. data/README +1 -1
  3. data/doc/user-guide.html +125 -85
  4. data/doc/user-guide.txt +2 -2
  5. data/lib/constant.rb +23 -16
  6. data/lib/db_connect.rb +2 -3
  7. data/lib/installer.rb +17 -10
  8. data/lib/user_interaction.rb +21 -10
  9. data/lib/webroar_command.rb +21 -23
  10. data/src/admin_panel/Gemfile +8 -0
  11. data/src/admin_panel/Rakefile +2 -5
  12. data/src/admin_panel/app/controllers/application_controller.rb +1 -1
  13. data/src/admin_panel/app/controllers/exceptions_controller.rb +25 -26
  14. data/src/admin_panel/app/controllers/graph_controller.rb +2 -1
  15. data/src/admin_panel/app/helpers/admin_helper.rb +1 -1
  16. data/src/admin_panel/app/{models → mailers}/mailer.rb +5 -8
  17. data/src/admin_panel/app/models/app.rb +1 -1
  18. data/src/admin_panel/app/models/app_exception.rb +15 -11
  19. data/src/admin_panel/app/models/app_time_sample.rb +40 -10
  20. data/src/admin_panel/app/models/application_specification.rb +71 -41
  21. data/src/admin_panel/app/models/resource_usage.rb +76 -55
  22. data/src/admin_panel/app/models/url_breakup_time_sample.rb +6 -11
  23. data/src/admin_panel/app/models/url_time_sample.rb +57 -13
  24. data/src/admin_panel/app/views/admin/_application_table.html.erb +5 -5
  25. data/src/admin_panel/app/views/admin/_feedback_partial.html.erb +4 -4
  26. data/src/admin_panel/app/views/admin/_report_bug_partial.html.erb +5 -5
  27. data/src/admin_panel/app/views/admin/change_password_form.html.erb +3 -3
  28. data/src/admin_panel/app/views/admin/configuration.html.erb +6 -6
  29. data/src/admin_panel/app/views/admin/home.html.erb +4 -4
  30. data/src/admin_panel/app/views/admin/index.html.erb +5 -5
  31. data/src/admin_panel/app/views/application_specification/_application_specification_form.html.erb +15 -6
  32. data/src/admin_panel/app/views/exceptions/_add_and_list_exception_classes.html.erb +7 -6
  33. data/src/admin_panel/app/views/exceptions/_exception_backtrace_partial.html.erb +1 -1
  34. data/src/admin_panel/app/views/exceptions/_exception_environment_partial.html.erb +30 -30
  35. data/src/admin_panel/app/views/exceptions/_exception_list_partial.html.erb +11 -11
  36. data/src/admin_panel/app/views/exceptions/_show.html.erb +8 -8
  37. data/src/admin_panel/app/views/exceptions/index.html.erb +0 -1
  38. data/src/admin_panel/app/views/graph/_get_database_data.html.erb +1 -1
  39. data/src/admin_panel/app/views/graph/_get_resource_usage_data_app.html.erb +2 -2
  40. data/src/admin_panel/app/views/graph/_get_resource_usage_data_server.html.erb +2 -2
  41. data/src/admin_panel/app/views/graph/_get_throughput_data.html.erb +2 -2
  42. data/src/admin_panel/app/views/graph/_get_url_data.html.erb +4 -4
  43. data/src/admin_panel/app/views/graph/_pie.html.erb +2 -2
  44. data/src/admin_panel/app/views/graph/_query_date.html.erb +1 -1
  45. data/src/admin_panel/app/views/graph/_query_period.html.erb +1 -1
  46. data/src/admin_panel/app/views/graph/_slider_partial.html.erb +5 -4
  47. data/src/admin_panel/app/views/graph/index.html.erb +0 -1
  48. data/src/admin_panel/app/views/headers/_add_expires_text_box.html.erb +5 -5
  49. data/src/admin_panel/app/views/headers/_expires_by_type_form.html.erb +1 -1
  50. data/src/admin_panel/app/views/headers/_headers_table.html.erb +12 -12
  51. data/src/admin_panel/app/views/layouts/application.html.erb +71 -51
  52. data/src/admin_panel/app/views/mail_specification/_current_spec.html.erb +4 -4
  53. data/src/admin_panel/app/views/mail_specification/_sendmail_form.html.erb +3 -3
  54. data/src/admin_panel/app/views/mail_specification/_smtp_form.html.erb +3 -3
  55. data/src/admin_panel/app/views/server_specification/_add_div.html.erb +4 -4
  56. data/src/admin_panel/app/views/server_specification/_ssl_support_form.html.erb +3 -2
  57. data/src/admin_panel/config.ru +4 -0
  58. data/src/admin_panel/config/application.rb +46 -0
  59. data/src/admin_panel/config/boot.rb +4 -112
  60. data/src/admin_panel/config/environment.rb +4 -85
  61. data/src/admin_panel/config/environments/development.rb +20 -13
  62. data/src/admin_panel/config/environments/production.rb +44 -17
  63. data/src/admin_panel/config/environments/test.rb +31 -18
  64. data/src/admin_panel/config/initializers/application_constants.rb +13 -11
  65. data/src/admin_panel/config/initializers/secret_token.rb +7 -0
  66. data/src/admin_panel/config/initializers/session_store.rb +8 -0
  67. data/src/admin_panel/config/initializers/ssl.rb +6 -2
  68. data/src/admin_panel/config/routes.rb +15 -57
  69. data/src/admin_panel/doc/README_FOR_APP +1 -1
  70. data/src/admin_panel/doc/app/ActionView.html +229 -0
  71. data/src/admin_panel/doc/app/ActionView/Helpers.html +229 -0
  72. data/src/admin_panel/doc/app/ActionView/Helpers/AssetTagHelper.html +277 -0
  73. data/src/admin_panel/doc/app/AdminController.html +814 -0
  74. data/src/admin_panel/doc/app/AdminHelper.html +495 -0
  75. data/src/admin_panel/doc/app/Analytics.html +272 -0
  76. data/src/admin_panel/doc/app/Analytics/Database.html +401 -0
  77. data/src/admin_panel/doc/app/Analytics/ResourceUsage.html +683 -0
  78. data/src/admin_panel/doc/app/Analytics/Throughput.html +488 -0
  79. data/src/admin_panel/doc/app/Analytics/Url.html +484 -0
  80. data/src/admin_panel/doc/app/Analytics/UrlBreakup.html +537 -0
  81. data/src/admin_panel/doc/app/App.html +489 -0
  82. data/src/admin_panel/doc/app/AppException.html +710 -0
  83. data/src/admin_panel/doc/app/AppTimeSample.html +620 -0
  84. data/src/admin_panel/doc/app/ApplicationController.html +239 -0
  85. data/src/admin_panel/doc/app/ApplicationHelper.html +296 -0
  86. data/src/admin_panel/doc/app/ApplicationSpecification.html +876 -0
  87. data/src/admin_panel/doc/app/ApplicationSpecificationController.html +552 -0
  88. data/src/admin_panel/doc/app/ApplicationSpecificationHelper.html +219 -0
  89. data/src/admin_panel/doc/app/Control.html +431 -0
  90. data/src/admin_panel/doc/app/ExceptionDetail.html +227 -0
  91. data/src/admin_panel/doc/app/ExceptionsController.html +754 -0
  92. data/src/admin_panel/doc/app/ExceptionsHelper.html +219 -0
  93. data/src/admin_panel/doc/app/GraphController.html +1101 -0
  94. data/src/admin_panel/doc/app/GraphHelper.html +285 -0
  95. data/src/admin_panel/doc/app/Headers.html +549 -0
  96. data/src/admin_panel/doc/app/HeadersController.html +507 -0
  97. data/src/admin_panel/doc/app/HeadersHelper.html +219 -0
  98. data/src/admin_panel/doc/app/MailSpecification.html +685 -0
  99. data/src/admin_panel/doc/app/MailSpecificationController.html +541 -0
  100. data/src/admin_panel/doc/app/MailSpecificationHelper.html +219 -0
  101. data/src/admin_panel/doc/app/Mailer.html +589 -0
  102. data/src/admin_panel/doc/app/Object.html +240 -0
  103. data/src/admin_panel/doc/app/PseudoModel.html +354 -0
  104. data/src/admin_panel/doc/app/ResourceUsage.html +656 -0
  105. data/src/admin_panel/doc/app/SCGI.html +674 -0
  106. data/src/admin_panel/doc/app/ServerSpecification.html +479 -0
  107. data/src/admin_panel/doc/app/ServerSpecificationController.html +500 -0
  108. data/src/admin_panel/doc/app/ServerSpecificationHelper.html +219 -0
  109. data/src/admin_panel/doc/app/SignalHelper.html +287 -0
  110. data/src/admin_panel/doc/app/UrlBreakupTimeSample.html +287 -0
  111. data/src/admin_panel/doc/app/UrlTimeSample.html +986 -0
  112. data/src/admin_panel/doc/app/User.html +290 -0
  113. data/src/admin_panel/doc/app/YAMLConfig.html +247 -0
  114. data/src/admin_panel/doc/app/YAMLWriter.html +284 -0
  115. data/src/admin_panel/doc/app/app/controllers/admin_controller_rb.html +52 -0
  116. data/src/admin_panel/doc/app/app/controllers/application_controller_rb.html +54 -0
  117. data/src/admin_panel/doc/app/app/controllers/application_specification_controller_rb.html +52 -0
  118. data/src/admin_panel/doc/app/app/controllers/exceptions_controller_rb.html +52 -0
  119. data/src/admin_panel/doc/app/app/controllers/graph_controller_rb.html +52 -0
  120. data/src/admin_panel/doc/app/app/controllers/headers_controller_rb.html +52 -0
  121. data/src/admin_panel/doc/app/app/controllers/mail_specification_controller_rb.html +52 -0
  122. data/src/admin_panel/doc/app/app/controllers/server_specification_controller_rb.html +52 -0
  123. data/src/admin_panel/doc/app/app/helpers/admin_helper_rb.html +52 -0
  124. data/src/admin_panel/doc/app/app/helpers/application_helper_rb.html +52 -0
  125. data/src/admin_panel/doc/app/app/helpers/application_specification_helper_rb.html +52 -0
  126. data/src/admin_panel/doc/app/app/helpers/exceptions_helper_rb.html +52 -0
  127. data/src/admin_panel/doc/app/app/helpers/graph_helper_rb.html +52 -0
  128. data/src/admin_panel/doc/app/app/helpers/headers_helper_rb.html +52 -0
  129. data/src/admin_panel/doc/app/app/helpers/mail_specification_helper_rb.html +52 -0
  130. data/src/admin_panel/doc/app/app/helpers/server_specification_helper_rb.html +52 -0
  131. data/src/admin_panel/doc/app/app/mailers/mailer_rb.html +56 -0
  132. data/src/admin_panel/doc/app/app/models/app_exception_rb.html +52 -0
  133. data/src/admin_panel/doc/app/app/models/app_rb.html +54 -0
  134. data/src/admin_panel/doc/app/app/models/app_time_sample_rb.html +52 -0
  135. data/src/admin_panel/doc/app/app/models/application_specification_rb.html +52 -0
  136. data/src/admin_panel/doc/app/app/models/exception_detail_rb.html +52 -0
  137. data/src/admin_panel/doc/app/app/models/headers_rb.html +52 -0
  138. data/src/admin_panel/doc/app/app/models/mail_specification_rb.html +52 -0
  139. data/src/admin_panel/doc/app/app/models/pseudo_model_rb.html +52 -0
  140. data/src/admin_panel/doc/app/app/models/resource_usage_rb.html +52 -0
  141. data/src/admin_panel/doc/app/app/models/server_specification_rb.html +52 -0
  142. data/src/admin_panel/doc/app/app/models/url_breakup_time_sample_rb.html +52 -0
  143. data/src/admin_panel/doc/app/app/models/url_time_sample_rb.html +52 -0
  144. data/src/admin_panel/doc/app/app/models/user_rb.html +52 -0
  145. data/src/admin_panel/doc/app/created.rid +42 -1
  146. data/src/admin_panel/doc/app/doc/README_FOR_APP.html +172 -0
  147. data/src/admin_panel/doc/app/images/brick.png +0 -0
  148. data/src/admin_panel/doc/app/images/brick_link.png +0 -0
  149. data/src/admin_panel/doc/app/images/bug.png +0 -0
  150. data/src/admin_panel/doc/app/images/bullet_black.png +0 -0
  151. data/src/admin_panel/doc/app/images/bullet_toggle_minus.png +0 -0
  152. data/src/admin_panel/doc/app/images/bullet_toggle_plus.png +0 -0
  153. data/src/admin_panel/doc/app/images/date.png +0 -0
  154. data/src/admin_panel/doc/app/images/find.png +0 -0
  155. data/src/admin_panel/doc/app/images/loadingAnimation.gif +0 -0
  156. data/src/admin_panel/doc/app/images/macFFBgHack.png +0 -0
  157. data/src/admin_panel/doc/app/images/package.png +0 -0
  158. data/src/admin_panel/doc/app/images/page_green.png +0 -0
  159. data/src/admin_panel/doc/app/images/page_white_text.png +0 -0
  160. data/src/admin_panel/doc/app/images/page_white_width.png +0 -0
  161. data/src/admin_panel/doc/app/images/plugin.png +0 -0
  162. data/src/admin_panel/doc/app/images/ruby.png +0 -0
  163. data/src/admin_panel/doc/app/images/tag_green.png +0 -0
  164. data/src/admin_panel/doc/app/images/wrench.png +0 -0
  165. data/src/admin_panel/doc/app/images/wrench_orange.png +0 -0
  166. data/src/admin_panel/doc/app/images/zoom.png +0 -0
  167. data/src/admin_panel/doc/app/index.html +564 -20
  168. data/src/admin_panel/doc/app/js/darkfish.js +116 -0
  169. data/src/admin_panel/doc/app/js/jquery.js +32 -0
  170. data/src/admin_panel/doc/app/js/quicksearch.js +114 -0
  171. data/src/admin_panel/doc/app/js/thickbox-compressed.js +10 -0
  172. data/src/admin_panel/doc/app/lib/asset_tag_helper_ext_rb.html +52 -0
  173. data/src/admin_panel/doc/app/lib/control_rb.html +58 -0
  174. data/src/admin_panel/doc/app/lib/graph_controller_extensions/database_analytics_rb.html +52 -0
  175. data/src/admin_panel/doc/app/lib/graph_controller_extensions/resource_usage_analytics_rb.html +52 -0
  176. data/src/admin_panel/doc/app/lib/graph_controller_extensions/throughput_analytics_rb.html +52 -0
  177. data/src/admin_panel/doc/app/lib/graph_controller_extensions/url_analytics_rb.html +52 -0
  178. data/src/admin_panel/doc/app/lib/graph_controller_extensions/url_breakup_analytics_rb.html +52 -0
  179. data/src/admin_panel/doc/app/lib/helper_rb.html +52 -0
  180. data/src/admin_panel/doc/app/lib/scgi_rb.html +54 -0
  181. data/src/admin_panel/doc/app/lib/yaml_writer_rb.html +52 -0
  182. data/src/admin_panel/doc/app/rdoc.css +763 -0
  183. data/src/admin_panel/lib/helper.rb +6 -2
  184. data/src/admin_panel/public/stylesheets/other/login.css +8 -4
  185. data/src/admin_panel/public/stylesheets/other/style.css +21 -17
  186. data/src/admin_panel/script/rails +6 -0
  187. data/src/admin_panel/test/test_helper.rb +2 -2
  188. data/src/admin_panel/vendor/plugins/calendar_date_select/History.txt +281 -0
  189. data/src/admin_panel/vendor/plugins/calendar_date_select/MIT-LICENSE +20 -0
  190. data/src/admin_panel/vendor/plugins/calendar_date_select/Manifest.txt +42 -0
  191. data/src/admin_panel/vendor/plugins/calendar_date_select/README.txt +17 -0
  192. data/src/admin_panel/vendor/plugins/calendar_date_select/Rakefile +37 -0
  193. data/src/admin_panel/vendor/plugins/calendar_date_select/VERSION +1 -0
  194. data/src/admin_panel/vendor/plugins/calendar_date_select/calendar_date_select.gemspec +95 -0
  195. data/src/admin_panel/vendor/plugins/calendar_date_select/init.rb +1 -0
  196. data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/functional/cds_test.html +376 -0
  197. data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/functional/format_iso_date_test.html +52 -0
  198. data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/prototype.js +4184 -0
  199. data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/test.css +40 -0
  200. data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/unit/cds_helper_methods.html +46 -0
  201. data/src/admin_panel/vendor/plugins/calendar_date_select/js_test/unittest.js +564 -0
  202. data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select.rb +33 -0
  203. data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/calendar_date_select.rb +122 -0
  204. data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/form_helpers.rb +237 -0
  205. data/src/admin_panel/vendor/plugins/calendar_date_select/lib/calendar_date_select/includes_helper.rb +29 -0
  206. data/src/admin_panel/vendor/plugins/calendar_date_select/public/blank_iframe.html +2 -0
  207. data/src/admin_panel/vendor/plugins/calendar_date_select/public/images/calendar_date_select/calendar.gif +0 -0
  208. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/calendar_date_select.js +459 -0
  209. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_american.js +35 -0
  210. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_danish.js +31 -0
  211. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_db.js +27 -0
  212. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr.js +7 -0
  213. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +7 -0
  214. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_finnish.js +32 -0
  215. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_hyphen_ampm.js +37 -0
  216. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_iso_date.js +29 -0
  217. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_italian.js +24 -0
  218. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ar.js +10 -0
  219. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/cs.js +11 -0
  220. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/da.js +11 -0
  221. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/de.js +11 -0
  222. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/es.js +11 -0
  223. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fi.js +10 -0
  224. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fr.js +11 -0
  225. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/hu.js +11 -0
  226. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/it.js +9 -0
  227. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ja.js +11 -0
  228. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/nl.js +11 -0
  229. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pl.js +11 -0
  230. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pt.js +11 -0
  231. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ru.js +10 -0
  232. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/sl.js +11 -0
  233. data/src/admin_panel/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/sv.js +9 -0
  234. data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/blue.css +130 -0
  235. data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/default.css +135 -0
  236. data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/green.css +142 -0
  237. data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/plain.css +128 -0
  238. data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/red.css +135 -0
  239. data/src/admin_panel/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/silver.css +133 -0
  240. data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/calendar_date_select_spec.rb +14 -0
  241. data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/form_helpers_spec.rb +189 -0
  242. data/src/admin_panel/vendor/plugins/calendar_date_select/spec/calendar_date_select/includes_helper_spec.rb +46 -0
  243. data/src/admin_panel/vendor/plugins/calendar_date_select/spec/spec_helper.rb +26 -0
  244. data/src/admin_panel/vendor/plugins/open_flash_chart_2_plugin/install.rb +2 -2
  245. data/src/admin_panel/vendor/plugins/open_flash_chart_2_plugin/uninstall.rb +2 -2
  246. data/src/admin_panel/vendor/plugins/prototype_legacy_helper/README.markdown +13 -0
  247. data/src/admin_panel/vendor/plugins/prototype_legacy_helper/init.rb +1 -0
  248. data/src/admin_panel/vendor/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb +432 -0
  249. data/src/admin_panel/vendor/plugins/prototype_legacy_helper/test/test_prototype_helper.rb +297 -0
  250. data/src/helper/wr_config.c +1 -1
  251. data/src/ruby_lib/analyzer/message_analyzer.rb +1 -0
  252. data/src/ruby_lib/analyzer/webroar_analyzer.rb +2 -2
  253. data/src/ruby_lib/profiler/message_dispatcher.rb +1 -1
  254. data/src/ruby_lib/ruby_interface/version.rb +2 -2
  255. data/src/ruby_lib/webroar_app_loader.rb +1 -1
  256. data/tasks/gem.rake +5 -7
  257. data/tasks/test.rake +1 -0
  258. data/test/spec/analytics_spec.rb +25 -24
  259. data/test/spec/test_app/README +142 -129
  260. data/test/spec/test_app/Rakefile +2 -5
  261. data/test/spec/test_app/app/controllers/application_controller.rb +3 -8
  262. data/test/spec/test_app/app/controllers/test_controller.rb +3 -3
  263. data/test/spec/test_app/app/controllers/users_controller.rb +8 -8
  264. data/test/spec/test_app/app/helpers/application_helper.rb +2 -1
  265. data/test/spec/test_app/app/helpers/test_helper.rb +2 -0
  266. data/test/spec/test_app/app/helpers/users_helper.rb +2 -0
  267. data/test/spec/test_app/app/models/user.rb +2 -0
  268. data/test/spec/test_app/app/views/layouts/{users.html.erb → application.html.erb} +6 -9
  269. data/test/spec/test_app/app/views/test/post_data.html.erb +2 -2
  270. data/test/spec/test_app/app/views/test/upload_file.html.erb +1 -1
  271. data/test/spec/test_app/{db/migrate/20090602102438_create_users.rb → app/views/users/_form.html.erb} +22 -11
  272. data/test/spec/test_app/app/views/users/edit.html.erb +19 -28
  273. data/test/spec/test_app/app/views/users/index.html.erb +23 -19
  274. data/test/spec/test_app/app/views/users/new.html.erb +19 -28
  275. data/test/spec/test_app/app/views/users/show.html.erb +21 -18
  276. data/test/spec/test_app/config/application.rb +45 -0
  277. data/test/spec/test_app/config/boot.rb +4 -112
  278. data/test/spec/test_app/config/database.yml +1 -1
  279. data/test/spec/test_app/config/environment.rb +4 -41
  280. data/test/spec/test_app/config/environments/development.rb +22 -13
  281. data/test/spec/test_app/config/environments/production.rb +41 -20
  282. data/test/spec/test_app/config/environments/test.rb +35 -28
  283. data/test/spec/test_app/config/initializers/backtrace_silencers.rb +2 -2
  284. data/test/spec/test_app/config/initializers/inflections.rb +1 -1
  285. data/test/spec/test_app/config/initializers/secret_token.rb +7 -0
  286. data/test/spec/test_app/config/initializers/session_store.rb +3 -10
  287. data/test/spec/test_app/config/locales/en.yml +5 -0
  288. data/test/spec/test_app/config/routes.rb +37 -22
  289. data/test/spec/test_app/db/migrate/20110906113329_create_users.rb +13 -0
  290. data/test/spec/test_app/db/seeds.rb +7 -0
  291. data/test/spec/test_app/public/404.html +15 -19
  292. data/test/spec/test_app/public/422.html +15 -19
  293. data/test/spec/test_app/public/500.html +14 -18
  294. data/test/spec/test_app/public/index.html +41 -77
  295. data/test/spec/test_app/public/javascripts/controls.js +5 -3
  296. data/test/spec/test_app/public/javascripts/dragdrop.js +7 -6
  297. data/test/spec/test_app/public/javascripts/effects.js +8 -13
  298. data/test/spec/test_app/public/javascripts/prototype.js +3381 -1700
  299. data/test/spec/test_app/public/javascripts/rails.js +191 -0
  300. data/test/spec/test_app/public/stylesheets/scaffold.css +15 -13
  301. data/test/spec/test_app/script/rails +6 -0
  302. metadata +340 -163
  303. data/src/admin_panel/Gemfile.lock +0 -79
  304. data/src/admin_panel/doc/app/classes/ActionView.html +0 -111
  305. data/src/admin_panel/doc/app/classes/ActionView/Helpers.html +0 -111
  306. data/src/admin_panel/doc/app/classes/ActionView/Helpers/AssetTagHelper.html +0 -149
  307. data/src/admin_panel/doc/app/classes/AdminController.html +0 -628
  308. data/src/admin_panel/doc/app/classes/AdminHelper.html +0 -482
  309. data/src/admin_panel/doc/app/classes/Analytics.html +0 -138
  310. data/src/admin_panel/doc/app/classes/Analytics/Database.html +0 -245
  311. data/src/admin_panel/doc/app/classes/Analytics/ResourceUsage.html +0 -478
  312. data/src/admin_panel/doc/app/classes/Analytics/Throughput.html +0 -316
  313. data/src/admin_panel/doc/app/classes/Analytics/Url.html +0 -314
  314. data/src/admin_panel/doc/app/classes/Analytics/UrlBreakup.html +0 -372
  315. data/src/admin_panel/doc/app/classes/App.html +0 -298
  316. data/src/admin_panel/doc/app/classes/AppException.html +0 -330
  317. data/src/admin_panel/doc/app/classes/AppTimeSample.html +0 -427
  318. data/src/admin_panel/doc/app/classes/ApplicationController.html +0 -118
  319. data/src/admin_panel/doc/app/classes/ApplicationHelper.html +0 -172
  320. data/src/admin_panel/doc/app/classes/ApplicationSpecification.html +0 -641
  321. data/src/admin_panel/doc/app/classes/ApplicationSpecificationController.html +0 -354
  322. data/src/admin_panel/doc/app/classes/Control.html +0 -273
  323. data/src/admin_panel/doc/app/classes/ExceptionsController.html +0 -612
  324. data/src/admin_panel/doc/app/classes/ExceptionsHelper.html +0 -105
  325. data/src/admin_panel/doc/app/classes/GraphController.html +0 -804
  326. data/src/admin_panel/doc/app/classes/GraphHelper.html +0 -164
  327. data/src/admin_panel/doc/app/classes/MailSpecification.html +0 -357
  328. data/src/admin_panel/doc/app/classes/MailSpecificationController.html +0 -304
  329. data/src/admin_panel/doc/app/classes/PseudoModel.html +0 -206
  330. data/src/admin_panel/doc/app/classes/ResourceUsage.html +0 -425
  331. data/src/admin_panel/doc/app/classes/SCGI.html +0 -406
  332. data/src/admin_panel/doc/app/classes/ServerSpecification.html +0 -325
  333. data/src/admin_panel/doc/app/classes/ServerSpecificationController.html +0 -273
  334. data/src/admin_panel/doc/app/classes/UrlBreakupTimeSample.html +0 -169
  335. data/src/admin_panel/doc/app/classes/UrlTimeSample.html +0 -708
  336. data/src/admin_panel/doc/app/classes/User.html +0 -165
  337. data/src/admin_panel/doc/app/classes/YAMLWriter.html +0 -159
  338. data/src/admin_panel/doc/app/files/app/controllers/admin_controller_rb.html +0 -101
  339. data/src/admin_panel/doc/app/files/app/controllers/application_controller_rb.html +0 -108
  340. data/src/admin_panel/doc/app/files/app/controllers/application_specification_controller_rb.html +0 -101
  341. data/src/admin_panel/doc/app/files/app/controllers/exceptions_controller_rb.html +0 -101
  342. data/src/admin_panel/doc/app/files/app/controllers/graph_controller_rb.html +0 -101
  343. data/src/admin_panel/doc/app/files/app/controllers/mail_specification_controller_rb.html +0 -101
  344. data/src/admin_panel/doc/app/files/app/controllers/server_specification_controller_rb.html +0 -101
  345. data/src/admin_panel/doc/app/files/app/helpers/admin_helper_rb.html +0 -101
  346. data/src/admin_panel/doc/app/files/app/helpers/application_helper_rb.html +0 -101
  347. data/src/admin_panel/doc/app/files/app/helpers/exceptions_helper_rb.html +0 -101
  348. data/src/admin_panel/doc/app/files/app/helpers/graph_helper_rb.html +0 -101
  349. data/src/admin_panel/doc/app/files/app/models/app_exception_rb.html +0 -101
  350. data/src/admin_panel/doc/app/files/app/models/app_rb.html +0 -108
  351. data/src/admin_panel/doc/app/files/app/models/app_time_sample_rb.html +0 -101
  352. data/src/admin_panel/doc/app/files/app/models/application_specification_rb.html +0 -101
  353. data/src/admin_panel/doc/app/files/app/models/mail_specification_rb.html +0 -101
  354. data/src/admin_panel/doc/app/files/app/models/pseudo_model_rb.html +0 -101
  355. data/src/admin_panel/doc/app/files/app/models/resource_usage_rb.html +0 -101
  356. data/src/admin_panel/doc/app/files/app/models/server_specification_rb.html +0 -101
  357. data/src/admin_panel/doc/app/files/app/models/url_breakup_time_sample_rb.html +0 -101
  358. data/src/admin_panel/doc/app/files/app/models/url_time_sample_rb.html +0 -101
  359. data/src/admin_panel/doc/app/files/app/models/user_rb.html +0 -101
  360. data/src/admin_panel/doc/app/files/doc/README_FOR_APP.html +0 -109
  361. data/src/admin_panel/doc/app/files/lib/asset_tag_helper_ext_rb.html +0 -101
  362. data/src/admin_panel/doc/app/files/lib/control_rb.html +0 -110
  363. data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/database_analytics_rb.html +0 -101
  364. data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/resource_usage_analytics_rb.html +0 -101
  365. data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/throughput_analytics_rb.html +0 -101
  366. data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/url_analytics_rb.html +0 -101
  367. data/src/admin_panel/doc/app/files/lib/graph_controller_extensions/url_breakup_analytics_rb.html +0 -101
  368. data/src/admin_panel/doc/app/files/lib/scgi_rb.html +0 -101
  369. data/src/admin_panel/doc/app/files/lib/yaml_writer_rb.html +0 -101
  370. data/src/admin_panel/doc/app/fr_class_index.html +0 -60
  371. data/src/admin_panel/doc/app/fr_file_index.html +0 -58
  372. data/src/admin_panel/doc/app/fr_method_index.html +0 -206
  373. data/src/admin_panel/doc/app/rdoc-style.css +0 -208
  374. data/src/admin_panel/public/dispatch.cgi +0 -10
  375. data/src/admin_panel/public/dispatch.fcgi +0 -24
  376. data/src/admin_panel/public/dispatch.rb +0 -10
  377. data/src/admin_panel/script/about +0 -4
  378. data/src/admin_panel/script/console +0 -3
  379. data/src/admin_panel/script/dbconsole +0 -3
  380. data/src/admin_panel/script/destroy +0 -3
  381. data/src/admin_panel/script/generate +0 -3
  382. data/src/admin_panel/script/performance/benchmarker +0 -3
  383. data/src/admin_panel/script/performance/profiler +0 -3
  384. data/src/admin_panel/script/performance/request +0 -3
  385. data/src/admin_panel/script/plugin +0 -3
  386. data/src/admin_panel/script/process/inspector +0 -3
  387. data/src/admin_panel/script/process/reaper +0 -3
  388. data/src/admin_panel/script/process/spawner +0 -3
  389. data/src/admin_panel/script/runner +0 -3
  390. data/src/admin_panel/script/server +0 -3
  391. data/test/spec/test_app/config/initializers/new_rails_defaults.rb +0 -19
  392. data/test/spec/test_app/script/about +0 -4
  393. data/test/spec/test_app/script/console +0 -3
  394. data/test/spec/test_app/script/dbconsole +0 -3
  395. data/test/spec/test_app/script/destroy +0 -3
  396. data/test/spec/test_app/script/generate +0 -3
  397. data/test/spec/test_app/script/performance/benchmarker +0 -3
  398. data/test/spec/test_app/script/performance/profiler +0 -3
  399. data/test/spec/test_app/script/plugin +0 -3
  400. data/test/spec/test_app/script/runner +0 -3
  401. data/test/spec/test_app/script/server +0 -3
  402. data/test/spec/test_app/vendor/.placeholder +0 -0
@@ -0,0 +1,537 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Module: Analytics::UrlBreakup</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
13
+ <script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
14
+ <script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
16
+
17
+ </head>
18
+ <body id="top" class="module">
19
+
20
+ <div id="metadata">
21
+ <div id="home-metadata">
22
+ <div id="home-section" class="section">
23
+ <h3 class="section-header">
24
+ <a href="../index.html">Home</a>
25
+ <a href="../index.html#classes">Classes</a>
26
+ <a href="../index.html#methods">Methods</a>
27
+ </h3>
28
+ </div>
29
+ </div>
30
+
31
+ <div id="file-metadata">
32
+ <div id="file-list-section" class="section">
33
+ <h3 class="section-header">In Files</h3>
34
+ <div class="section-body">
35
+ <ul>
36
+
37
+ <li><a href="../lib/graph_controller_extensions/url_breakup_analytics_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
38
+ class="thickbox" title="lib/graph_controller_extensions/url_breakup_analytics.rb">lib/graph_controller_extensions/url_breakup_analytics.rb</a></li>
39
+
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+
45
+ </div>
46
+
47
+ <div id="class-metadata">
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+ <!-- Method Quickref -->
56
+ <div id="method-list-section" class="section">
57
+ <h3 class="section-header">Methods</h3>
58
+ <ul class="link-list">
59
+
60
+ <li><a href="#method-i-get_url_breakdown">#get_url_breakdown</a></li>
61
+
62
+ <li><a href="#method-i-get_url_breakup_data">#get_url_breakup_data</a></li>
63
+
64
+ <li><a href="#method-i-get_url_breakup_graph_data">#get_url_breakup_graph_data</a></li>
65
+
66
+ <li><a href="#method-i-pie_data">#pie_data</a></li>
67
+
68
+ <li><a href="#method-i-refresh_pie_graph">#refresh_pie_graph</a></li>
69
+
70
+ <li><a href="#method-i-round">#round</a></li>
71
+
72
+ </ul>
73
+ </div>
74
+
75
+
76
+
77
+ </div>
78
+
79
+ <div id="project-metadata">
80
+
81
+
82
+ <div id="fileindex-section" class="section project-section">
83
+ <h3 class="section-header">Files</h3>
84
+ <ul>
85
+
86
+ <li class="file"><a href="../doc/README_FOR_APP.html">README_FOR_APP</a></li>
87
+
88
+ </ul>
89
+ </div>
90
+
91
+
92
+ <div id="classindex-section" class="section project-section">
93
+ <h3 class="section-header">Class/Module Index
94
+ <span class="search-toggle"><img src="../images/find.png"
95
+ height="16" width="16" alt="[+]"
96
+ title="show/hide quicksearch" /></span></h3>
97
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
98
+ <fieldset>
99
+ <legend>Quicksearch</legend>
100
+ <input type="text" name="quicksearch" value=""
101
+ class="quicksearch-field" />
102
+ </fieldset>
103
+ </form>
104
+
105
+ <ul class="link-list">
106
+
107
+ <li><a href="../Analytics.html">Analytics</a></li>
108
+
109
+ <li><a href="../Analytics/Database.html">Analytics::Database</a></li>
110
+
111
+ <li><a href="../Analytics/ResourceUsage.html">Analytics::ResourceUsage</a></li>
112
+
113
+ <li><a href="../Analytics/Throughput.html">Analytics::Throughput</a></li>
114
+
115
+ <li><a href="../Analytics/Url.html">Analytics::Url</a></li>
116
+
117
+ <li><a href="../Analytics/UrlBreakup.html">Analytics::UrlBreakup</a></li>
118
+
119
+ <li><a href="../ActionView.html">ActionView</a></li>
120
+
121
+ <li><a href="../ActionView/Helpers.html">ActionView::Helpers</a></li>
122
+
123
+ <li><a href="../ActionView/Helpers/AssetTagHelper.html">ActionView::Helpers::AssetTagHelper</a></li>
124
+
125
+ <li><a href="../AdminController.html">AdminController</a></li>
126
+
127
+ <li><a href="../AdminHelper.html">AdminHelper</a></li>
128
+
129
+ <li><a href="../App.html">App</a></li>
130
+
131
+ <li><a href="../AppException.html">AppException</a></li>
132
+
133
+ <li><a href="../AppTimeSample.html">AppTimeSample</a></li>
134
+
135
+ <li><a href="../ApplicationController.html">ApplicationController</a></li>
136
+
137
+ <li><a href="../ApplicationHelper.html">ApplicationHelper</a></li>
138
+
139
+ <li><a href="../ApplicationSpecification.html">ApplicationSpecification</a></li>
140
+
141
+ <li><a href="../ApplicationSpecificationController.html">ApplicationSpecificationController</a></li>
142
+
143
+ <li><a href="../ApplicationSpecificationHelper.html">ApplicationSpecificationHelper</a></li>
144
+
145
+ <li><a href="../Control.html">Control</a></li>
146
+
147
+ <li><a href="../ExceptionDetail.html">ExceptionDetail</a></li>
148
+
149
+ <li><a href="../ExceptionsController.html">ExceptionsController</a></li>
150
+
151
+ <li><a href="../ExceptionsHelper.html">ExceptionsHelper</a></li>
152
+
153
+ <li><a href="../GraphController.html">GraphController</a></li>
154
+
155
+ <li><a href="../GraphHelper.html">GraphHelper</a></li>
156
+
157
+ <li><a href="../Headers.html">Headers</a></li>
158
+
159
+ <li><a href="../HeadersController.html">HeadersController</a></li>
160
+
161
+ <li><a href="../HeadersHelper.html">HeadersHelper</a></li>
162
+
163
+ <li><a href="../MailSpecification.html">MailSpecification</a></li>
164
+
165
+ <li><a href="../MailSpecificationController.html">MailSpecificationController</a></li>
166
+
167
+ <li><a href="../MailSpecificationHelper.html">MailSpecificationHelper</a></li>
168
+
169
+ <li><a href="../Mailer.html">Mailer</a></li>
170
+
171
+ <li><a href="../Object.html">Object</a></li>
172
+
173
+ <li><a href="../PseudoModel.html">PseudoModel</a></li>
174
+
175
+ <li><a href="../ResourceUsage.html">ResourceUsage</a></li>
176
+
177
+ <li><a href="../SCGI.html">SCGI</a></li>
178
+
179
+ <li><a href="../ServerSpecification.html">ServerSpecification</a></li>
180
+
181
+ <li><a href="../ServerSpecificationController.html">ServerSpecificationController</a></li>
182
+
183
+ <li><a href="../ServerSpecificationHelper.html">ServerSpecificationHelper</a></li>
184
+
185
+ <li><a href="../SignalHelper.html">SignalHelper</a></li>
186
+
187
+ <li><a href="../UrlBreakupTimeSample.html">UrlBreakupTimeSample</a></li>
188
+
189
+ <li><a href="../UrlTimeSample.html">UrlTimeSample</a></li>
190
+
191
+ <li><a href="../User.html">User</a></li>
192
+
193
+ <li><a href="../YAMLConfig.html">YAMLConfig</a></li>
194
+
195
+ <li><a href="../YAMLWriter.html">YAMLWriter</a></li>
196
+
197
+ </ul>
198
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
199
+ </div>
200
+
201
+
202
+ </div>
203
+ </div>
204
+
205
+ <div id="documentation">
206
+ <h1 class="module">Analytics::UrlBreakup</h1>
207
+
208
+ <div id="description" class="description">
209
+
210
+ </div><!-- description -->
211
+
212
+
213
+
214
+
215
+ <div id="5Buntitled-5D" class="documentation-section">
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+ <!-- Methods -->
225
+
226
+ <div id="public-instance-method-details" class="method-section section">
227
+ <h3 class="section-header">Public Instance Methods</h3>
228
+
229
+
230
+ <div id="get_url_breakdown-method" class="method-detail ">
231
+ <a name="method-i-get_url_breakdown"></a>
232
+
233
+
234
+ <div class="method-heading">
235
+ <span class="method-name">get_url_breakdown</span><span
236
+ class="method-args">()</span>
237
+ <span class="method-click-advice">click to toggle source</span>
238
+ </div>
239
+
240
+
241
+ <div class="method-description">
242
+
243
+ <p>This method renders the pie graph and time consumption details for a
244
+ specific url listed in the select box.</p>
245
+
246
+
247
+
248
+ <div class="method-source-code" id="get_url_breakdown-source">
249
+ <pre>
250
+ <span class="ruby-comment"># File lib/graph_controller_extensions/url_breakup_analytics.rb, line 125</span>
251
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_url_breakdown</span>
252
+ <span class="ruby-identifier">app_id</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:id</span>]
253
+ <span class="ruby-identifier">start_time</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:start_time</span>]
254
+ <span class="ruby-identifier">end_time</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:end_time</span>]
255
+ <span class="ruby-identifier">url</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:url_name</span>]
256
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">params</span>[<span class="ruby-value">:index</span>]
257
+ <span class="ruby-ivar">@url_rank</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:index</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
258
+ <span class="ruby-ivar">@suffix</span> = <span class="ruby-identifier">get_suffix</span>(<span class="ruby-ivar">@url_rank</span>)
259
+ <span class="ruby-keyword">end</span>
260
+ <span class="ruby-ivar">@data_x</span>, <span class="ruby-ivar">@data_y</span>, <span class="ruby-ivar">@url_breakup_graph</span>, <span class="ruby-ivar">@data_actual_time</span> = <span class="ruby-identifier">get_url_breakup_graph_data</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-constant">Array</span>[<span class="ruby-identifier">url</span>])
261
+ <span class="ruby-identifier">render</span> <span class="ruby-value">:partial</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'pie'</span>
262
+ <span class="ruby-keyword">end</span></pre>
263
+ </div><!-- get_url_breakdown-source -->
264
+
265
+ </div>
266
+
267
+
268
+
269
+
270
+ </div><!-- get_url_breakdown-method -->
271
+
272
+
273
+ <div id="get_url_breakup_data-method" class="method-detail ">
274
+ <a name="method-i-get_url_breakup_data"></a>
275
+
276
+
277
+ <div class="method-heading">
278
+ <span class="method-name">get_url_breakup_data</span><span
279
+ class="method-args">(app_id)</span>
280
+ <span class="method-click-advice">click to toggle source</span>
281
+ </div>
282
+
283
+
284
+ <div class="method-description">
285
+
286
+ <p>This method render the pie graphs and its percentage time consumption table
287
+ for the first url in the list of url for current day.</p>
288
+
289
+
290
+
291
+ <div class="method-source-code" id="get_url_breakup_data-source">
292
+ <pre>
293
+ <span class="ruby-comment"># File lib/graph_controller_extensions/url_breakup_analytics.rb, line 106</span>
294
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_url_breakup_data</span>(<span class="ruby-identifier">app_id</span>)
295
+ <span class="ruby-ivar">@app_id</span> = <span class="ruby-identifier">app_id</span>
296
+ <span class="ruby-identifier">check_and_set_query_period</span>()
297
+ <span class="ruby-ivar">@start_time</span> = <span class="ruby-identifier">session</span>[<span class="ruby-value">:from_date</span>].<span class="ruby-identifier">strftime</span>(<span class="ruby-string">&quot;%Y/%m/%d&quot;</span>)
298
+ <span class="ruby-identifier">start_time</span> = <span class="ruby-identifier">session</span>[<span class="ruby-value">:from_date</span>]
299
+ <span class="ruby-ivar">@end_time</span> = <span class="ruby-identifier">session</span>[<span class="ruby-value">:to_date</span>].<span class="ruby-identifier">strftime</span>(<span class="ruby-string">&quot;%Y/%m/%d&quot;</span>)
300
+ <span class="ruby-identifier">end_time</span> = <span class="ruby-identifier">session</span>[<span class="ruby-value">:to_date</span>]
301
+ <span class="ruby-ivar">@urls</span> = <span class="ruby-constant">UrlTimeSample</span>.<span class="ruby-identifier">get_urls</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">app_id</span>)
302
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@urls</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
303
+ <span class="ruby-ivar">@url_rank</span> = <span class="ruby-value">1</span>
304
+ <span class="ruby-ivar">@suffix</span> = <span class="ruby-identifier">get_suffix</span>(<span class="ruby-ivar">@url_rank</span>)
305
+ <span class="ruby-ivar">@data_x</span>, <span class="ruby-ivar">@data_y</span>, <span class="ruby-ivar">@url_breakup_graph</span>, <span class="ruby-ivar">@data_actual_time</span> = <span class="ruby-identifier">get_url_breakup_graph_data</span>(<span class="ruby-ivar">@start_time</span>, <span class="ruby-ivar">@end_time</span>, <span class="ruby-ivar">@app_id</span>, <span class="ruby-ivar">@urls</span>)
306
+ <span class="ruby-keyword">else</span>
307
+ <span class="ruby-identifier">flash</span>[<span class="ruby-value">:notice</span>] = <span class="ruby-constant">NO_DATA_FOUND</span>
308
+ <span class="ruby-keyword">end</span>
309
+ <span class="ruby-identifier">render</span> <span class="ruby-value">:partial</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;url_breakup_graph&quot;</span>
310
+ <span class="ruby-keyword">end</span></pre>
311
+ </div><!-- get_url_breakup_data-source -->
312
+
313
+ </div>
314
+
315
+
316
+
317
+
318
+ </div><!-- get_url_breakup_data-method -->
319
+
320
+
321
+ <div id="get_url_breakup_graph_data-method" class="method-detail ">
322
+ <a name="method-i-get_url_breakup_graph_data"></a>
323
+
324
+
325
+ <div class="method-heading">
326
+ <span class="method-name">get_url_breakup_graph_data</span><span
327
+ class="method-args">(start_time, end_time, app_id, urls)</span>
328
+ <span class="method-click-advice">click to toggle source</span>
329
+ </div>
330
+
331
+
332
+ <div class="method-description">
333
+
334
+ <p>This method gives the details of url calls and there time spent by the url
335
+ in different place i.e in database,rendering etc. and it also returns the
336
+ pie graph data for the same.</p>
337
+
338
+
339
+
340
+ <div class="method-source-code" id="get_url_breakup_graph_data-source">
341
+ <pre>
342
+ <span class="ruby-comment"># File lib/graph_controller_extensions/url_breakup_analytics.rb, line 25</span>
343
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get_url_breakup_graph_data</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">urls</span>)
344
+ <span class="ruby-identifier">url</span> = <span class="ruby-identifier">urls</span>[<span class="ruby-value">0</span>]
345
+ <span class="ruby-identifier">data_1</span>, <span class="ruby-identifier">url_name</span>, <span class="ruby-identifier">data_x</span>, <span class="ruby-identifier">data_y</span>, <span class="ruby-identifier">data_actual_time</span> = <span class="ruby-identifier">pie_data</span>(<span class="ruby-identifier">app_id</span>,<span class="ruby-node">&quot;#{url}-#{start_time}-#{end_time}&quot;</span>)
346
+ <span class="ruby-identifier">data_x</span> = <span class="ruby-identifier">data_x</span>
347
+ <span class="ruby-identifier">data_y</span> = <span class="ruby-identifier">data_y</span>
348
+ <span class="ruby-identifier">url_breakup_graph</span> = <span class="ruby-identifier">plot_graph</span>(<span class="ruby-node">&quot;graph/pie/#{app_id}?url=#{url}-#{start_time}-#{end_time}&quot;</span>, <span class="ruby-string">'pie'</span>)
349
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">data_x</span>, <span class="ruby-identifier">data_y</span>, <span class="ruby-identifier">url_breakup_graph</span>, <span class="ruby-identifier">data_actual_time</span>
350
+ <span class="ruby-keyword">end</span></pre>
351
+ </div><!-- get_url_breakup_graph_data-source -->
352
+
353
+ </div>
354
+
355
+
356
+
357
+
358
+ </div><!-- get_url_breakup_graph_data-method -->
359
+
360
+
361
+ <div id="pie_data-method" class="method-detail ">
362
+ <a name="method-i-pie_data"></a>
363
+
364
+
365
+ <div class="method-heading">
366
+ <span class="method-name">pie_data</span><span
367
+ class="method-args">(app_id, url_data)</span>
368
+ <span class="method-click-advice">click to toggle source</span>
369
+ </div>
370
+
371
+
372
+ <div class="method-description">
373
+
374
+ <p>This method gives the percentage time taken by a url in different parts
375
+ like database and rendering etc.</p>
376
+
377
+
378
+
379
+ <div class="method-source-code" id="pie_data-source">
380
+ <pre>
381
+ <span class="ruby-comment"># File lib/graph_controller_extensions/url_breakup_analytics.rb, line 35</span>
382
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">pie_data</span>(<span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url_data</span>)
383
+ <span class="ruby-identifier">data_str</span> = <span class="ruby-identifier">url_data</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">&quot;-&quot;</span>)
384
+ <span class="ruby-identifier">url_name</span> = <span class="ruby-identifier">data_str</span>[<span class="ruby-value">0</span>]
385
+ <span class="ruby-identifier">date_str</span> = <span class="ruby-identifier">data_str</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-string">&quot;/&quot;</span>)
386
+ <span class="ruby-identifier">start_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(<span class="ruby-identifier">date_str</span>[<span class="ruby-value">0</span>],<span class="ruby-identifier">date_str</span>[<span class="ruby-value">1</span>],<span class="ruby-identifier">date_str</span>[<span class="ruby-value">2</span>])
387
+ <span class="ruby-identifier">date_str</span> = <span class="ruby-identifier">data_str</span>[<span class="ruby-value">2</span>].<span class="ruby-identifier">split</span>(<span class="ruby-string">&quot;/&quot;</span>)
388
+ <span class="ruby-identifier">end_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">local</span>(<span class="ruby-identifier">date_str</span>[<span class="ruby-value">0</span>],<span class="ruby-identifier">date_str</span>[<span class="ruby-value">1</span>],<span class="ruby-identifier">date_str</span>[<span class="ruby-value">2</span>], <span class="ruby-string">'23'</span>, <span class="ruby-string">'59'</span>, <span class="ruby-string">'59'</span>)
389
+
390
+ <span class="ruby-identifier">url_sample</span> = <span class="ruby-constant">UrlTimeSample</span>.<span class="ruby-identifier">get_url_data</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">app_id</span>, <span class="ruby-identifier">url_name</span>)
391
+
392
+ <span class="ruby-identifier">db_time</span> = <span class="ruby-identifier">round</span>((<span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">db_time</span>.<span class="ruby-identifier">to_f</span>*<span class="ruby-value">100</span><span class="ruby-operator">/</span><span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">total_time</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">to_f</span>)
393
+ <span class="ruby-identifier">rendering_time</span> = <span class="ruby-identifier">round</span>(<span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">rendering_time</span>.<span class="ruby-identifier">to_f</span> * <span class="ruby-value">100</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">total_time</span>.<span class="ruby-identifier">to_f</span>)
394
+ <span class="ruby-identifier">remaining_time</span> = <span class="ruby-identifier">round</span>(<span class="ruby-value">100</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">db_time</span><span class="ruby-operator">-</span><span class="ruby-identifier">rendering_time</span>)
395
+ <span class="ruby-identifier">data_x</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
396
+ <span class="ruby-identifier">data_y</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
397
+ <span class="ruby-identifier">data_actual_time</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
398
+ <span class="ruby-identifier">data_1</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
399
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">db_time</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
400
+ <span class="ruby-identifier">url_sample_ids</span> = <span class="ruby-constant">UrlTimeSample</span>.<span class="ruby-identifier">get_url_id</span>(<span class="ruby-identifier">start_time</span>, <span class="ruby-identifier">end_time</span>, <span class="ruby-identifier">url_name</span>, <span class="ruby-identifier">app_id</span>)
401
+ <span class="ruby-identifier">url_id</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
402
+ <span class="ruby-identifier">url_sample_ids</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url_sample_id</span><span class="ruby-operator">|</span>
403
+ <span class="ruby-identifier">url_id</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">url_sample_id</span>.<span class="ruby-identifier">id</span>
404
+ <span class="ruby-keyword">end</span>
405
+ <span class="ruby-identifier">url_breakup_sample</span> = <span class="ruby-constant">UrlBreakupTimeSample</span>.<span class="ruby-identifier">get_url_breakup_sample_data</span>(<span class="ruby-identifier">url_id</span>)
406
+ <span class="ruby-identifier">url_breakup_sample</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span><span class="ruby-operator">|</span>
407
+ <span class="ruby-identifier">time</span> = (<span class="ruby-identifier">url</span>.<span class="ruby-identifier">time_spent</span>.<span class="ruby-identifier">to_f</span>*<span class="ruby-value">100</span> <span class="ruby-operator">/</span> <span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">total_time</span>.<span class="ruby-identifier">to_f</span>).<span class="ruby-identifier">to_f</span>
408
+ <span class="ruby-identifier">time</span> = <span class="ruby-identifier">round</span>(<span class="ruby-identifier">time</span>)
409
+ <span class="ruby-identifier">data_x</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">url</span>.<span class="ruby-identifier">method_name</span>
410
+ <span class="ruby-identifier">data_y</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">time</span>
411
+ <span class="ruby-identifier">actual_time</span> = <span class="ruby-identifier">round</span>(<span class="ruby-identifier">url</span>.<span class="ruby-identifier">time_spent</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-value">1000</span>)
412
+ <span class="ruby-identifier">data_actual_time</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">actual_time</span>
413
+ <span class="ruby-identifier">method_name</span> = <span class="ruby-identifier">data_x</span>.<span class="ruby-identifier">length</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;. &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">url</span>.<span class="ruby-identifier">method_name</span>
414
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">method_name</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">20</span>
415
+ <span class="ruby-identifier">method_name</span> = <span class="ruby-identifier">method_name</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">16</span>] <span class="ruby-operator">+</span> <span class="ruby-string">&quot;...&quot;</span>
416
+ <span class="ruby-keyword">end</span>
417
+ <span class="ruby-comment">#data_1 &lt;&lt; OFC2::PieValue.new(:value =&gt; time, :label =&gt; url.method_name, :tip =&gt; &quot;#{actual_time} sec&quot;)</span>
418
+ <span class="ruby-identifier">data_1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">OFC2</span><span class="ruby-operator">::</span><span class="ruby-constant">PieValue</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">time</span>, <span class="ruby-value">:label</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">method_name</span>, <span class="ruby-value">:tip</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{actual_time} sec&quot;</span>)
419
+ <span class="ruby-keyword">end</span>
420
+ <span class="ruby-identifier">data_x</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;Rendering Time&quot;</span>
421
+ <span class="ruby-identifier">data_y</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rendering_time</span>
422
+ <span class="ruby-identifier">actual_time</span> = <span class="ruby-identifier">round</span>(<span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">rendering_time</span>.<span class="ruby-identifier">to_f</span><span class="ruby-operator">/</span><span class="ruby-value">1000</span>)
423
+ <span class="ruby-identifier">data_actual_time</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">actual_time</span>
424
+ <span class="ruby-identifier">data_1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">OFC2</span><span class="ruby-operator">::</span><span class="ruby-constant">PieValue</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">rendering_time</span>, <span class="ruby-value">:label</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'Rendering Time'</span>, <span class="ruby-value">:tip</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{actual_time} sec&quot;</span>)
425
+ <span class="ruby-identifier">data_x</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;Remaining Time&quot;</span>
426
+ <span class="ruby-identifier">data_y</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">remaining_time</span>
427
+ <span class="ruby-identifier">actual_time</span> = <span class="ruby-identifier">round</span>((<span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">total_time</span>.<span class="ruby-identifier">to_f</span><span class="ruby-operator">-</span><span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">rendering_time</span>.<span class="ruby-identifier">to_f</span><span class="ruby-operator">-</span><span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">db_time</span>.<span class="ruby-identifier">to_f</span>)<span class="ruby-operator">/</span><span class="ruby-value">1000</span>)
428
+ <span class="ruby-identifier">data_actual_time</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">actual_time</span>
429
+ <span class="ruby-identifier">data_1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">OFC2</span><span class="ruby-operator">::</span><span class="ruby-constant">PieValue</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remaining_time</span>, <span class="ruby-value">:label</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'Remaining Time'</span>, <span class="ruby-value">:tip</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{actual_time} sec&quot;</span>)
430
+ <span class="ruby-keyword">else</span>
431
+ <span class="ruby-identifier">data_x</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;Rendering Time&quot;</span>
432
+ <span class="ruby-identifier">data_y</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">rendering_time</span>
433
+ <span class="ruby-identifier">actual_time</span> = <span class="ruby-identifier">round</span>(<span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">rendering_time</span>.<span class="ruby-identifier">to_f</span><span class="ruby-operator">/</span><span class="ruby-value">1000</span>)
434
+ <span class="ruby-identifier">data_actual_time</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">actual_time</span>
435
+ <span class="ruby-identifier">data_1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">OFC2</span><span class="ruby-operator">::</span><span class="ruby-constant">PieValue</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">rendering_time</span>, <span class="ruby-value">:label</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'Rendering Time'</span>, <span class="ruby-value">:tip</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{actual_time} sec&quot;</span>)
436
+ <span class="ruby-identifier">data_x</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-string">&quot;Remaining Time&quot;</span>
437
+ <span class="ruby-identifier">data_y</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">remaining_time</span>
438
+ <span class="ruby-identifier">actual_time</span> = <span class="ruby-identifier">round</span>((<span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">total_time</span>.<span class="ruby-identifier">to_f</span><span class="ruby-operator">-</span><span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">rendering_time</span>.<span class="ruby-identifier">to_f</span><span class="ruby-operator">-</span><span class="ruby-identifier">url_sample</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">db_time</span>.<span class="ruby-identifier">to_f</span>)<span class="ruby-operator">/</span><span class="ruby-value">1000</span>)
439
+ <span class="ruby-identifier">data_actual_time</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">actual_time</span>
440
+ <span class="ruby-identifier">data_1</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">OFC2</span><span class="ruby-operator">::</span><span class="ruby-constant">PieValue</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remaining_time</span>, <span class="ruby-value">:label</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'Remaining Time'</span>, <span class="ruby-value">:tip</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{actual_time} sec&quot;</span>)
441
+ <span class="ruby-keyword">end</span>
442
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">data_1</span>, <span class="ruby-identifier">url_name</span>, <span class="ruby-identifier">data_x</span>, <span class="ruby-identifier">data_y</span>, <span class="ruby-identifier">data_actual_time</span>
443
+ <span class="ruby-keyword">end</span></pre>
444
+ </div><!-- pie_data-source -->
445
+
446
+ </div>
447
+
448
+
449
+
450
+
451
+ </div><!-- pie_data-method -->
452
+
453
+
454
+ <div id="refresh_pie_graph-method" class="method-detail ">
455
+ <a name="method-i-refresh_pie_graph"></a>
456
+
457
+
458
+ <div class="method-heading">
459
+ <span class="method-name">refresh_pie_graph</span><span
460
+ class="method-args">()</span>
461
+ <span class="method-click-advice">click to toggle source</span>
462
+ </div>
463
+
464
+
465
+ <div class="method-description">
466
+
467
+ <p>This method is called when the refresh button is clicked from the
468
+ url_breakdown graph.</p>
469
+
470
+
471
+
472
+ <div class="method-source-code" id="refresh_pie_graph-source">
473
+ <pre>
474
+ <span class="ruby-comment"># File lib/graph_controller_extensions/url_breakup_analytics.rb, line 99</span>
475
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">refresh_pie_graph</span>
476
+ <span class="ruby-identifier">app_id</span> = <span class="ruby-identifier">params</span>[<span class="ruby-value">:app_id</span>]
477
+ <span class="ruby-identifier">get_url_breakdown_data</span>(<span class="ruby-identifier">app_id</span>)
478
+ <span class="ruby-keyword">end</span></pre>
479
+ </div><!-- refresh_pie_graph-source -->
480
+
481
+ </div>
482
+
483
+
484
+
485
+
486
+ </div><!-- refresh_pie_graph-method -->
487
+
488
+
489
+ <div id="round-method" class="method-detail ">
490
+ <a name="method-i-round"></a>
491
+
492
+
493
+ <div class="method-heading">
494
+ <span class="method-name">round</span><span
495
+ class="method-args">(value)</span>
496
+ <span class="method-click-advice">click to toggle source</span>
497
+ </div>
498
+
499
+
500
+ <div class="method-description">
501
+
502
+ <p>This function rounds of the float upto 2 decimal places</p>
503
+
504
+
505
+
506
+ <div class="method-source-code" id="round-source">
507
+ <pre>
508
+ <span class="ruby-comment"># File lib/graph_controller_extensions/url_breakup_analytics.rb, line 139</span>
509
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">round</span>(<span class="ruby-identifier">value</span>)
510
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">sprintf</span>(<span class="ruby-string">&quot;%0.2f&quot;</span>,<span class="ruby-identifier">value</span>).<span class="ruby-identifier">to_f</span>
511
+ <span class="ruby-keyword">end</span></pre>
512
+ </div><!-- round-source -->
513
+
514
+ </div>
515
+
516
+
517
+
518
+
519
+ </div><!-- round-method -->
520
+
521
+
522
+ </div><!-- public-instance-method-details -->
523
+
524
+ </div><!-- 5Buntitled-5D -->
525
+
526
+
527
+ </div><!-- documentation -->
528
+
529
+ <div id="validator-badges">
530
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
531
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
532
+ Rdoc Generator</a> 2</small>.</p>
533
+ </div>
534
+
535
+ </body>
536
+ </html>
537
+