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
@@ -1,118 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: ApplicationController</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">ApplicationController</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/app/controllers/application_controller_rb.html">
59
- app/controllers/application_controller.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- ActionController::Base
69
- </td>
70
- </tr>
71
- </table>
72
- </div>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
-
77
-
78
-
79
- <div id="contextContent">
80
-
81
-
82
-
83
- </div>
84
-
85
-
86
- </div>
87
-
88
-
89
- <!-- if includes -->
90
- <div id="includes">
91
- <h3 class="section-bar">Included Modules</h3>
92
-
93
- <div id="includes-list">
94
- <span class="include-name">SslRequirement</span>
95
- </div>
96
- </div>
97
-
98
- <div id="section">
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
- <!-- if method_list -->
108
-
109
-
110
- </div>
111
-
112
-
113
- <div id="validator-badges">
114
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
115
- </div>
116
-
117
- </body>
118
- </html>
@@ -1,172 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: ApplicationHelper</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">ApplicationHelper</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/app/helpers/application_helper_rb.html">
59
- app/helpers/application_helper.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- </table>
66
- </div>
67
- <!-- banner header -->
68
-
69
- <div id="bodyContent">
70
-
71
-
72
-
73
- <div id="contextContent">
74
-
75
- <div id="description">
76
- <p>
77
- Methods added to this helper will be available to all templates in the
78
- application.
79
- </p>
80
-
81
- </div>
82
-
83
-
84
- </div>
85
-
86
- <div id="method-list">
87
- <h3 class="section-bar">Methods</h3>
88
-
89
- <div class="name-list">
90
- <a href="#M000179">get_tab_class_name</a>&nbsp;&nbsp;
91
- </div>
92
- </div>
93
-
94
- </div>
95
-
96
-
97
- <!-- if includes -->
98
-
99
- <div id="section">
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
- <!-- if method_list -->
109
- <div id="methods">
110
- <h3 class="section-bar">Public Instance methods</h3>
111
-
112
- <div id="method-M000179" class="method-detail">
113
- <a name="M000179"></a>
114
-
115
- <div class="method-heading">
116
- <a href="#M000179" class="method-signature">
117
- <span class="method-name">get_tab_class_name</span><span class="method-args">(controller_name,action_name)</span>
118
- </a>
119
- </div>
120
-
121
- <div class="method-description">
122
- <p>
123
- This method is used to get the tabs image for the differnt tabs in the
124
- admin panel.
125
- </p>
126
- <p><a class="source-toggle" href="#"
127
- onclick="toggleCode('M000179-source');return false;">[Source]</a></p>
128
- <div class="method-source-code" id="M000179-source">
129
- <pre>
130
- <span class="ruby-comment cmt"># File app/helpers/application_helper.rb, line 24</span>
131
- 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_tab_class_name</span>(<span class="ruby-identifier">controller_name</span>,<span class="ruby-identifier">action_name</span>)
132
- 25: <span class="ruby-identifier">tab1</span> = [<span class="ruby-value str">&quot;home&quot;</span>,<span class="ruby-value str">&quot;home_ov&quot;</span>]
133
- 26: <span class="ruby-identifier">tab2</span> = [<span class="ruby-value str">&quot;configuration&quot;</span>,<span class="ruby-value str">&quot;configuration_ov&quot;</span>]
134
- 27: <span class="ruby-identifier">tab3</span> = [<span class="ruby-value str">&quot;analytics&quot;</span>,<span class="ruby-value str">&quot;analytics_ov&quot;</span>]
135
- 28: <span class="ruby-identifier">tab4</span> = [<span class="ruby-value str">&quot;exceptions&quot;</span>,<span class="ruby-value str">&quot;exceptions_ov&quot;</span>]
136
- 29: <span class="ruby-identifier">tab5</span> = [<span class="ruby-value str">&quot;settings&quot;</span>,<span class="ruby-value str">&quot;settings_ov&quot;</span>]
137
- 30: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">controller_name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'admin'</span>
138
- 31: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">action_name</span>
139
- 32: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;home&quot;</span>
140
- 33: <span class="ruby-identifier">tab1</span> = [<span class="ruby-value str">&quot;home_ov&quot;</span>,<span class="ruby-value str">&quot;&quot;</span>]
141
- 34: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;change_password_form&quot;</span>
142
- 35: <span class="ruby-identifier">tab5</span> = [<span class="ruby-value str">&quot;settings_ov&quot;</span>,<span class="ruby-value str">&quot;&quot;</span>]
143
- 36: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;change_password&quot;</span>
144
- 37: <span class="ruby-identifier">tab5</span> = [<span class="ruby-value str">&quot;settings_ov&quot;</span>,<span class="ruby-value str">&quot;&quot;</span>]
145
- 38: <span class="ruby-keyword kw">else</span>
146
- 39: <span class="ruby-identifier">tab2</span> = [<span class="ruby-value str">&quot;configuration_ov&quot;</span>,<span class="ruby-value str">&quot;&quot;</span>]
147
- 40: <span class="ruby-keyword kw">end</span>
148
- 41: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">controller_name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'graph'</span>
149
- 42: <span class="ruby-identifier">tab3</span> = [<span class="ruby-value str">&quot;analytics_ov&quot;</span>,<span class="ruby-value str">&quot;&quot;</span>]
150
- 43: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">controller_name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'exceptions'</span>
151
- 44: <span class="ruby-identifier">tab4</span> = [<span class="ruby-value str">&quot;exceptions_ov&quot;</span>,<span class="ruby-value str">&quot;&quot;</span>]
152
- 45: <span class="ruby-keyword kw">end</span>
153
- 46: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">tab1</span>,<span class="ruby-identifier">tab2</span>,<span class="ruby-identifier">tab3</span>,<span class="ruby-identifier">tab4</span>,<span class="ruby-identifier">tab5</span>
154
- 47: <span class="ruby-keyword kw">end</span>
155
- </pre>
156
- </div>
157
- </div>
158
- </div>
159
-
160
-
161
- </div>
162
-
163
-
164
- </div>
165
-
166
-
167
- <div id="validator-badges">
168
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
169
- </div>
170
-
171
- </body>
172
- </html>
@@ -1,641 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: ApplicationSpecification</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">ApplicationSpecification</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/app/models/application_specification_rb.html">
59
- app/models/application_specification.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="PseudoModel.html">
69
- PseudoModel
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
-
84
-
85
- </div>
86
-
87
- <div id="method-list">
88
- <h3 class="section-bar">Methods</h3>
89
-
90
- <div class="name-list">
91
- <a href="#M000133">delete</a>&nbsp;&nbsp;
92
- <a href="#M000135">get_application_id_from_name</a>&nbsp;&nbsp;
93
- <a href="#M000134">get_hash</a>&nbsp;&nbsp;
94
- <a href="#M000130">obj_to_hash</a>&nbsp;&nbsp;
95
- <a href="#M000128">remove</a>&nbsp;&nbsp;
96
- <a href="#M000129">remove</a>&nbsp;&nbsp;
97
- <a href="#M000131">update</a>&nbsp;&nbsp;
98
- <a href="#M000132">validate</a>&nbsp;&nbsp;
99
- <a href="#M000127">write</a>&nbsp;&nbsp;
100
- </div>
101
- </div>
102
-
103
- </div>
104
-
105
-
106
- <!-- if includes -->
107
-
108
- <div id="section">
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
- <!-- if method_list -->
118
- <div id="methods">
119
- <h3 class="section-bar">Public Class methods</h3>
120
-
121
- <div id="method-M000133" class="method-detail">
122
- <a name="M000133"></a>
123
-
124
- <div class="method-heading">
125
- <a href="#M000133" class="method-signature">
126
- <span class="method-name">delete</span><span class="method-args">(app_id)</span>
127
- </a>
128
- </div>
129
-
130
- <div class="method-description">
131
- <p><a class="source-toggle" href="#"
132
- onclick="toggleCode('M000133-source');return false;">[Source]</a></p>
133
- <div class="method-source-code" id="M000133-source">
134
- <pre>
135
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 302</span>
136
- 302: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">app_id</span>)
137
- 303: <span class="ruby-identifier">info</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_file</span>(<span class="ruby-constant">CONFIG_FILE_PATH</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
138
- 304: <span class="ruby-identifier">app_name</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">app_id</span>][<span class="ruby-value str">&quot;name&quot;</span>]
139
- 305: <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>].<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">app_id</span>)
140
- 306: <span class="ruby-keyword kw">if</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>)
141
- 307: <span class="ruby-identifier">info</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">'Application Specification'</span>)
142
- 308: <span class="ruby-keyword kw">end</span>
143
- 309: <span class="ruby-constant">YAMLWriter</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">info</span>,<span class="ruby-constant">CONFIG_FILE_PATH</span>,<span class="ruby-value str">&quot;config&quot;</span>)
144
- 310: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">app_name</span>
145
- 311: <span class="ruby-keyword kw">end</span>
146
- </pre>
147
- </div>
148
- </div>
149
- </div>
150
-
151
- <div id="method-M000135" class="method-detail">
152
- <a name="M000135"></a>
153
-
154
- <div class="method-heading">
155
- <a href="#M000135" class="method-signature">
156
- <span class="method-name">get_application_id_from_name</span><span class="method-args">(application_name)</span>
157
- </a>
158
- </div>
159
-
160
- <div class="method-description">
161
- <p><a class="source-toggle" href="#"
162
- onclick="toggleCode('M000135-source');return false;">[Source]</a></p>
163
- <div class="method-source-code" id="M000135-source">
164
- <pre>
165
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 352</span>
166
- 352: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_application_id_from_name</span>(<span class="ruby-identifier">application_name</span>)
167
- 353: <span class="ruby-identifier">info</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_file</span>(<span class="ruby-constant">CONFIG_FILE_PATH</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
168
- 354: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
169
- 355: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>]
170
- 356: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value str">'name'</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">application_name</span>
171
- 357: <span class="ruby-keyword kw">break</span>
172
- 358: <span class="ruby-keyword kw">end</span>
173
- 359: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span><span class="ruby-value">1</span>
174
- 360: <span class="ruby-keyword kw">end</span>
175
- 361: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">i</span>
176
- 362: <span class="ruby-keyword kw">end</span>
177
- </pre>
178
- </div>
179
- </div>
180
- </div>
181
-
182
- <div id="method-M000134" class="method-detail">
183
- <a name="M000134"></a>
184
-
185
- <div class="method-heading">
186
- <a href="#M000134" class="method-signature">
187
- <span class="method-name">get_hash</span><span class="method-args">(application_id = 1000)</span>
188
- </a>
189
- </div>
190
-
191
- <div class="method-description">
192
- <p>
193
- This method is to get application specifications for a specific application
194
- from WebROaR config file.
195
- </p>
196
- <p><a class="source-toggle" href="#"
197
- onclick="toggleCode('M000134-source');return false;">[Source]</a></p>
198
- <div class="method-source-code" id="M000134-source">
199
- <pre>
200
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 314</span>
201
- 314: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_hash</span>(<span class="ruby-identifier">application_id</span> = <span class="ruby-value">1000</span>)
202
- 315: <span class="ruby-identifier">info</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_file</span>(<span class="ruby-constant">CONFIG_FILE_PATH</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
203
- 316: <span class="ruby-identifier">name</span> = <span class="ruby-value str">&quot;&quot;</span>
204
- 317: <span class="ruby-identifier">path</span> = <span class="ruby-value str">&quot;&quot;</span>
205
- 318: <span class="ruby-identifier">run_as_user</span> = <span class="ruby-value str">&quot;&quot;</span>
206
- 319: <span class="ruby-identifier">type</span> = <span class="ruby-value str">&quot;Rails&quot;</span>
207
- 320: <span class="ruby-identifier">analytics</span> = <span class="ruby-value str">&quot;Disabled&quot;</span>
208
- 321: <span class="ruby-identifier">environment</span> = <span class="ruby-value str">&quot;Production&quot;</span>
209
- 322: <span class="ruby-identifier">port</span>, <span class="ruby-identifier">min_worker</span>, <span class="ruby-identifier">max_worker</span>, <span class="ruby-identifier">log_level</span> = <span class="ruby-constant">ServerSpecification</span>.<span class="ruby-identifier">get_fields</span>
210
- 323: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">application_id</span>.<span class="ruby-identifier">nil?</span>
211
- 324: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>] <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>]
212
- 325: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'name'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'name'</span>]
213
- 326: <span class="ruby-identifier">baseuri</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'baseuri'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'baseuri'</span>]
214
- 327: <span class="ruby-identifier">host_names</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'host_names'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'host_names'</span>]
215
- 328: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'path'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'path'</span>]
216
- 329: <span class="ruby-identifier">run_as_user</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'run_as_user'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'run_as_user'</span>]
217
- 330: <span class="ruby-identifier">type</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'type'</span>].<span class="ruby-identifier">capitalize</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'type'</span>]
218
- 331: <span class="ruby-identifier">analytics</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'analytics'</span>].<span class="ruby-identifier">capitalize</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'analytics'</span>]
219
- 332: <span class="ruby-identifier">environment</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'environment'</span>].<span class="ruby-identifier">capitalize</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'environment'</span>]
220
- 333: <span class="ruby-identifier">min_worker</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'min_worker'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'min_worker'</span>]
221
- 334: <span class="ruby-identifier">max_worker</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'max_worker'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">application_id</span>][<span class="ruby-value str">'max_worker'</span>]
222
- 335: <span class="ruby-keyword kw">end</span>
223
- 336: <span class="ruby-keyword kw">end</span>
224
- 337: <span class="ruby-identifier">app_hash</span> = <span class="ruby-constant">Hash</span>[<span class="ruby-identifier">:app_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">application_id</span>.<span class="ruby-identifier">to_i</span>,
225
- 338: <span class="ruby-identifier">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>,
226
- 339: <span class="ruby-identifier">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">path</span>,
227
- 340: <span class="ruby-identifier">:run_as_user</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">run_as_user</span>,
228
- 341: <span class="ruby-identifier">:type1</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">type</span>,
229
- 342: <span class="ruby-identifier">:analytics</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">analytics</span>,
230
- 343: <span class="ruby-identifier">:environment</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">environment</span>,
231
- 344: <span class="ruby-identifier">:min_worker</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">min_worker</span>,
232
- 345: <span class="ruby-identifier">:max_worker</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_worker</span>]
233
- 346: <span class="ruby-identifier">app_hash</span>[<span class="ruby-identifier">:resolver</span>] = <span class="ruby-identifier">baseuri</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">baseuri</span>
234
- 347: <span class="ruby-identifier">app_hash</span>[<span class="ruby-identifier">:resolver</span>] = <span class="ruby-identifier">host_names</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">host_names</span>
235
- 348:
236
- 349: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">app_hash</span>
237
- 350: <span class="ruby-keyword kw">end</span>
238
- </pre>
239
- </div>
240
- </div>
241
- </div>
242
-
243
- <div id="method-M000128" class="method-detail">
244
- <a name="M000128"></a>
245
-
246
- <div class="method-heading">
247
- <a href="#M000128" class="method-signature">
248
- <span class="method-name">remove</span><span class="method-args">(app_name)</span>
249
- </a>
250
- </div>
251
-
252
- <div class="method-description">
253
- <p><a class="source-toggle" href="#"
254
- onclick="toggleCode('M000128-source');return false;">[Source]</a></p>
255
- <div class="method-source-code" id="M000128-source">
256
- <pre>
257
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 62</span>
258
- 62: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remove</span>(<span class="ruby-identifier">app_name</span>)
259
- 63: <span class="ruby-identifier">server_specification</span> = <span class="ruby-constant">ServerSpecification</span>.<span class="ruby-identifier">get_hash</span>
260
- 64: <span class="ruby-identifier">info</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_file</span>(<span class="ruby-constant">CONFIG_FILE_PATH</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
261
- 65:
262
- 66: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>]
263
- 67: <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
264
- 68: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">x</span>[<span class="ruby-value str">'name'</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">app_name</span>.<span class="ruby-identifier">to_s</span>)
265
- 69: <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>].<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">x</span>)
266
- 70: <span class="ruby-keyword kw">end</span>
267
- 71: <span class="ruby-keyword kw">end</span>
268
- 72:
269
- 73: <span class="ruby-identifier">info</span> = <span class="ruby-constant">Hash</span>[<span class="ruby-value str">'Server Specification'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">server_specification</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>].<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
270
- 74:
271
- 75: <span class="ruby-keyword kw">end</span>
272
- 76:
273
- 77: <span class="ruby-constant">YAMLWriter</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">info</span>, <span class="ruby-constant">CONFIG_FILE_PATH</span>, <span class="ruby-value str">&quot;config&quot;</span>)
274
- 78: <span class="ruby-keyword kw">end</span>
275
- </pre>
276
- </div>
277
- </div>
278
- </div>
279
-
280
- <h3 class="section-bar">Public Instance methods</h3>
281
-
282
- <div id="method-M000130" class="method-detail">
283
- <a name="M000130"></a>
284
-
285
- <div class="method-heading">
286
- <a href="#M000130" class="method-signature">
287
- <span class="method-name">obj_to_hash</span><span class="method-args">()</span>
288
- </a>
289
- </div>
290
-
291
- <div class="method-description">
292
- <p>
293
- Converting <a
294
- href="ApplicationSpecification.html">ApplicationSpecification</a> obeject
295
- into a Hash.
296
- </p>
297
- <p><a class="source-toggle" href="#"
298
- onclick="toggleCode('M000130-source');return false;">[Source]</a></p>
299
- <div class="method-source-code" id="M000130-source">
300
- <pre>
301
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 85</span>
302
- 85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">obj_to_hash</span>
303
- 86: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Hash</span>[<span class="ruby-value str">&quot;name&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value str">&quot;path&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">path</span>, <span class="ruby-value str">&quot;run_as_user&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">run_as_user</span>.<span class="ruby-identifier">downcase</span>, <span class="ruby-value str">&quot;type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">type1</span>.<span class="ruby-identifier">downcase</span>, <span class="ruby-value str">&quot;analytics&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">analytics</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>, <span class="ruby-value str">&quot;environment&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">environment</span>.<span class="ruby-identifier">downcase</span>, <span class="ruby-value str">&quot;min_worker&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">min_worker</span>.<span class="ruby-identifier">to_i</span>, <span class="ruby-value str">&quot;max_worker&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">max_worker</span>.<span class="ruby-identifier">to_i</span>]
304
- 87: <span class="ruby-identifier">app</span>[<span class="ruby-value str">&quot;baseuri&quot;</span>] = <span class="ruby-identifier">baseuri</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">baseuri</span>
305
- 88: <span class="ruby-identifier">app</span>[<span class="ruby-value str">&quot;host_names&quot;</span>] = <span class="ruby-identifier">host_names</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">host_names</span>
306
- 89: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">app</span>
307
- 90: <span class="ruby-keyword kw">end</span>
308
- </pre>
309
- </div>
310
- </div>
311
- </div>
312
-
313
- <div id="method-M000129" class="method-detail">
314
- <a name="M000129"></a>
315
-
316
- <div class="method-heading">
317
- <a href="#M000129" class="method-signature">
318
- <span class="method-name">remove</span><span class="method-args">()</span>
319
- </a>
320
- </div>
321
-
322
- <div class="method-description">
323
- <p><a class="source-toggle" href="#"
324
- onclick="toggleCode('M000129-source');return false;">[Source]</a></p>
325
- <div class="method-source-code" id="M000129-source">
326
- <pre>
327
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 80</span>
328
- 80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove</span>
329
- 81: <span class="ruby-constant">ApplicationSpecification</span><span class="ruby-operator">::</span><span class="ruby-identifier">remove</span>(<span class="ruby-identifier">name</span>)
330
- 82: <span class="ruby-keyword kw">end</span>
331
- </pre>
332
- </div>
333
- </div>
334
- </div>
335
-
336
- <div id="method-M000131" class="method-detail">
337
- <a name="M000131"></a>
338
-
339
- <div class="method-heading">
340
- <a href="#M000131" class="method-signature">
341
- <span class="method-name">update</span><span class="method-args">(app_id)</span>
342
- </a>
343
- </div>
344
-
345
- <div class="method-description">
346
- <p><a class="source-toggle" href="#"
347
- onclick="toggleCode('M000131-source');return false;">[Source]</a></p>
348
- <div class="method-source-code" id="M000131-source">
349
- <pre>
350
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 92</span>
351
- 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update</span>(<span class="ruby-identifier">app_id</span>)
352
- 93: <span class="ruby-identifier">info</span> = <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_file</span>(<span class="ruby-constant">CONFIG_FILE_PATH</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
353
- 94: <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">app_id</span>] = <span class="ruby-identifier">obj_to_hash</span>
354
- 95: <span class="ruby-constant">YAMLWriter</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">info</span>, <span class="ruby-constant">CONFIG_FILE_PATH</span>, <span class="ruby-value str">&quot;config&quot;</span>)
355
- 96: <span class="ruby-keyword kw">end</span>
356
- </pre>
357
- </div>
358
- </div>
359
- </div>
360
-
361
- <div id="method-M000132" class="method-detail">
362
- <a name="M000132"></a>
363
-
364
- <div class="method-heading">
365
- <a href="#M000132" class="method-signature">
366
- <span class="method-name">validate</span><span class="method-args">()</span>
367
- </a>
368
- </div>
369
-
370
- <div class="method-description">
371
- <p>
372
- this method is used to <a
373
- href="ApplicationSpecification.html#M000132">validate</a> the various
374
- fields of the apps model.
375
- </p>
376
- <p><a class="source-toggle" href="#"
377
- onclick="toggleCode('M000132-source');return false;">[Source]</a></p>
378
- <div class="method-source-code" id="M000132-source">
379
- <pre>
380
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 99</span>
381
- 99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">validate</span>
382
- 100: <span class="ruby-comment cmt"># errors.add_to_base MIN_WORKERS_VALIDATION if min_worker.to_i &gt; 20</span>
383
- 101: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max_worker</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">min_worker</span>.<span class="ruby-identifier">to_i</span>
384
- 102: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">MAX_WORKERS_VALIDATION_1</span>
385
- 103: <span class="ruby-comment cmt"># elsif max_worker.to_i &gt; 20</span>
386
- 104: <span class="ruby-comment cmt"># errors.add_to_base MAX_WORKERS_VALIDATION_2</span>
387
- 105: <span class="ruby-keyword kw">end</span>
388
- 106: <span class="ruby-comment cmt"># errors.add_to_base APPLICATION_PATH_EXISTANCE_VALIDATION if !File.directory?(path)</span>
389
- 107: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">ANALYTICS_VALIDATION</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type1</span><span class="ruby-operator">==</span><span class="ruby-value str">&quot;Rails&quot;</span> <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">analytics</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;enabled&quot;</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">analytics</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;disabled&quot;</span>)
390
- 108: <span class="ruby-comment cmt">#errors.add_to_base ENVIRONMENT_VALIDATION if !(environment.downcase == &quot;production&quot; or environment.downcase == &quot;development&quot; or environment.downcase == &quot;test&quot;)</span>
391
- 109: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">TYPE_VALIDATION</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">type1</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-constant">RAILS</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">type1</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-constant">RACK</span>)
392
- 110: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">type1</span>
393
- 111: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type1</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-constant">RAILS</span>
394
- 112: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">path</span>, <span class="ruby-value str">'config'</span>, <span class="ruby-value str">'environment.rb'</span>))
395
- 113: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-value str">&quot;The entered application path is not a valid Rails application path.&quot;</span>
396
- 114: <span class="ruby-keyword kw">end</span>
397
- 115: <span class="ruby-keyword kw">end</span>
398
- 116: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">type1</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-constant">RACK</span>
399
- 117: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">path</span>, <span class="ruby-value str">'config.ru'</span>))
400
- 118: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-value str">&quot;The entered application path is not a valid Rack application path.&quot;</span>
401
- 119: <span class="ruby-keyword kw">end</span>
402
- 120: <span class="ruby-keyword kw">end</span>
403
- 121: <span class="ruby-keyword kw">end</span>
404
- 122: <span class="ruby-comment cmt"># Resolver take either baseuri or host_names, not both. </span>
405
- 123: <span class="ruby-comment cmt"># baseuri starts with '/'</span>
406
- 124: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">resolver</span>
407
- 125: <span class="ruby-identifier">tokens</span> = <span class="ruby-identifier">resolver</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/ /</span>)
408
- 126:
409
- 127: <span class="ruby-identifier">curr_host_names</span> = []
410
- 128: <span class="ruby-identifier">host_names_flag</span> = <span class="ruby-value">0</span>
411
- 129: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">tokens</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">start_with?</span>(<span class="ruby-value str">'/'</span>)
412
- 130: <span class="ruby-identifier">write_attribute</span>(<span class="ruby-identifier">:baseuri</span>, <span class="ruby-identifier">resolver</span>)
413
- 131: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-value str">&quot;BaseURI must start with '/' and contains characters A-Z, a-z, 0-9 , _ , - and /.&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">baseuri</span>.<span class="ruby-identifier">strip</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\/[A-Za-z0-9_\-\/]*$/i</span>)
414
- 132: <span class="ruby-keyword kw">else</span>
415
- 133: <span class="ruby-identifier">write_attribute</span>(<span class="ruby-identifier">:host_names</span>, <span class="ruby-identifier">resolver</span>)
416
- 134: <span class="ruby-identifier">host_name_flag</span> = <span class="ruby-value">1</span>
417
- 135: <span class="ruby-keyword kw">end</span>
418
- 136:
419
- 137: <span class="ruby-comment cmt"># More than one token would come only in case of host_names</span>
420
- 138: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">host_name_flag</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
421
- 139: <span class="ruby-identifier">tokens</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">token</span><span class="ruby-operator">|</span>
422
- 140: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;&quot;</span>
423
- 141: <span class="ruby-identifier">len</span> = <span class="ruby-identifier">token</span>.<span class="ruby-identifier">size</span>
424
- 142: <span class="ruby-comment cmt"># Whole name can not exceed total length of 253</span>
425
- 143: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">len</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">253</span>
426
- 144: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">HOSTNAME_LENGTH_EXCEEDS</span>
427
- 145: <span class="ruby-keyword kw">next</span>
428
- 146: <span class="ruby-keyword kw">end</span>
429
- 147: <span class="ruby-comment cmt"># Subdivision can go down to maximum 127 level.</span>
430
- 148: <span class="ruby-identifier">labels</span> = <span class="ruby-identifier">token</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\./</span>)
431
- 149: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">labels</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">127</span>
432
- 150: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">SUBDIVISION_EXCEEDS_127</span>
433
- 151: <span class="ruby-keyword kw">next</span>
434
- 152: <span class="ruby-keyword kw">end</span>
435
- 153: <span class="ruby-comment cmt"># Start with '/' indicates BaseURI</span>
436
- 154: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>.<span class="ruby-identifier">start_with?</span>(<span class="ruby-value str">'/'</span>)
437
- 155: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">BASEURI_AND_HOSTNAMES_EXIST</span>
438
- 156: <span class="ruby-keyword kw">break</span>
439
- 157: <span class="ruby-keyword kw">end</span>
440
- 158: <span class="ruby-comment cmt"># If wildcard '*' presents, Hostname should prefix with '~'</span>
441
- 159: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">&quot;*&quot;</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">token</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^~/</span>)
442
- 160: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-node">&quot;#{token} - #{START_WTIH_TILD}&quot;</span>
443
- 161: <span class="ruby-keyword kw">next</span>
444
- 162: <span class="ruby-keyword kw">end</span>
445
- 163: <span class="ruby-comment cmt"># Wildcard '*' can come either at start or at end, not inbetween</span>
446
- 164: <span class="ruby-identifier">pos</span> = <span class="ruby-identifier">token</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">'*'</span>, <span class="ruby-value">1</span>)
447
- 165: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pos</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">pos</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">pos</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">len</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>
448
- 166: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-node">&quot;#{token} - #{WILDCARD_AT_START_OR_END}&quot;</span>
449
- 167: <span class="ruby-keyword kw">next</span>
450
- 168: <span class="ruby-keyword kw">end</span>
451
- 169: <span class="ruby-identifier">pos</span> = <span class="ruby-identifier">token</span>.<span class="ruby-identifier">index</span>(<span class="ruby-value str">'*'</span>, <span class="ruby-value">2</span>)
452
- 170: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pos</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">pos</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">len</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
453
- 171: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-node">&quot;#{token} - #{WILDCARD_AT_START_OR_END}&quot;</span>
454
- 172: <span class="ruby-keyword kw">next</span>
455
- 173: <span class="ruby-keyword kw">end</span>
456
- 174: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">token</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/[.][.]/</span>
457
- 175: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-node">&quot;#{token} - #{CONSECUTIVE_DOTS}&quot;</span>
458
- 176: <span class="ruby-keyword kw">next</span>
459
- 177: <span class="ruby-keyword kw">end</span>
460
- 178: <span class="ruby-comment cmt"># Check for Letters, Digits and Hyphen</span>
461
- 179: <span class="ruby-identifier">err_flag</span> = <span class="ruby-value">0</span>
462
- 180: <span class="ruby-comment cmt">#first label can have '~' as first char and '*' as second char, last label can have '*' as last character</span>
463
- 181: <span class="ruby-identifier">first_label</span> = <span class="ruby-identifier">labels</span>[<span class="ruby-value">0</span>]
464
- 182: <span class="ruby-identifier">last_label</span> = <span class="ruby-identifier">labels</span>[<span class="ruby-identifier">labels</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
465
- 183: <span class="ruby-identifier">labels</span> = <span class="ruby-identifier">labels</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-identifier">labels</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>]
466
- 184: <span class="ruby-identifier">labels</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">label</span><span class="ruby-operator">|</span>
467
- 185: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">label</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">63</span>
468
- 186: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">LABEL_LENGTH_EXCEEDS</span>
469
- 187: <span class="ruby-keyword kw">next</span>
470
- 188: <span class="ruby-keyword kw">end</span>
471
- 189: <span class="ruby-identifier">label</span>.<span class="ruby-identifier">each_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
472
- 190: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'a'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'A'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'Z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'0'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'9'</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'-'</span>
473
- 191: <span class="ruby-keyword kw">next</span>
474
- 192: <span class="ruby-keyword kw">else</span>
475
- 193: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">HOSTNAME_LDH</span>
476
- 194: <span class="ruby-identifier">err_flag</span> = <span class="ruby-value">1</span>
477
- 195: <span class="ruby-keyword kw">break</span>;
478
- 196: <span class="ruby-keyword kw">end</span>
479
- 197: <span class="ruby-keyword kw">end</span>
480
- 198: <span class="ruby-keyword kw">end</span>
481
- 199: <span class="ruby-identifier">char_array</span> = []
482
- 200: <span class="ruby-identifier">first_label</span>.<span class="ruby-identifier">each_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
483
- 201: <span class="ruby-identifier">char_array</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
484
- 202: <span class="ruby-keyword kw">end</span>
485
- 203: <span class="ruby-comment cmt">#p char_array</span>
486
- 204: <span class="ruby-comment cmt"># checking first character of first label against LDH and ~</span>
487
- 205: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">err_flag</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
488
- 206: <span class="ruby-identifier">c</span> = <span class="ruby-identifier">char_array</span>[<span class="ruby-value">0</span>]
489
- 207: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'a'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'A'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'Z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'0'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'9'</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'~'</span>
490
- 208: <span class="ruby-keyword kw">else</span>
491
- 209: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">HOSTNAME_LDH</span>
492
- 210: <span class="ruby-identifier">err_flag</span> = <span class="ruby-value">1</span>
493
- 211: <span class="ruby-keyword kw">end</span>
494
- 212: <span class="ruby-keyword kw">end</span>
495
- 213: <span class="ruby-comment cmt">#checking second char of first label against LDH and *</span>
496
- 214: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">err_flag</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
497
- 215: <span class="ruby-identifier">c</span> = <span class="ruby-identifier">char_array</span>[<span class="ruby-value">1</span>]
498
- 216: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'a'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'A'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'Z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'0'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'9'</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'*'</span>
499
- 217: <span class="ruby-keyword kw">else</span>
500
- 218: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">HOSTNAME_LDH</span>
501
- 219: <span class="ruby-identifier">err_flag</span> = <span class="ruby-value">1</span>
502
- 220: <span class="ruby-keyword kw">end</span>
503
- 221: <span class="ruby-keyword kw">end</span>
504
- 222: <span class="ruby-comment cmt">#checking remaining character of first label against LDH</span>
505
- 223: <span class="ruby-identifier">char_array</span> = <span class="ruby-identifier">char_array</span>[<span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-identifier">char_array</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
506
- 224: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">err_flag</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
507
- 225: <span class="ruby-identifier">char_array</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
508
- 226: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'a'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'A'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'Z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'0'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'9'</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'-'</span>
509
- 227: <span class="ruby-keyword kw">next</span>
510
- 228: <span class="ruby-keyword kw">else</span>
511
- 229: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">HOSTNAME_LDH</span>
512
- 230: <span class="ruby-identifier">err_flag</span> = <span class="ruby-value">1</span>
513
- 231: <span class="ruby-keyword kw">break</span>;
514
- 232: <span class="ruby-keyword kw">end</span>
515
- 233: <span class="ruby-keyword kw">end</span>
516
- 234: <span class="ruby-keyword kw">end</span>
517
- 235: <span class="ruby-comment cmt">#checking last character of last label against LDH and *</span>
518
- 236: <span class="ruby-identifier">char_array</span> = []
519
- 237: <span class="ruby-identifier">last_label</span>.<span class="ruby-identifier">each_char</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
520
- 238: <span class="ruby-identifier">char_array</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">c</span>
521
- 239: <span class="ruby-keyword kw">end</span>
522
- 240: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">err_flag</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
523
- 241: <span class="ruby-identifier">c</span> = <span class="ruby-identifier">char_array</span>[<span class="ruby-identifier">char_array</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
524
- 242: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'a'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'A'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'Z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'0'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'9'</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'*'</span>
525
- 243: <span class="ruby-keyword kw">else</span>
526
- 244: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">HOSTNAME_LDH</span>
527
- 245: <span class="ruby-identifier">err_flag</span> = <span class="ruby-value">1</span>
528
- 246: <span class="ruby-keyword kw">end</span>
529
- 247: <span class="ruby-keyword kw">end</span>
530
- 248: <span class="ruby-comment cmt">#checking remaining characters of the last label against LDH</span>
531
- 249: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">err_flag</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
532
- 250: <span class="ruby-identifier">char_array</span> = <span class="ruby-identifier">char_array</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-identifier">char_array</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">2</span>]
533
- 251: <span class="ruby-identifier">char_array</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
534
- 252: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'a'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'A'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'Z'</span>) <span class="ruby-keyword kw">or</span> (<span class="ruby-identifier">c</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">'0'</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'9'</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">c</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'*'</span>
535
- 253: <span class="ruby-keyword kw">else</span>
536
- 254: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">HOSTNAME_LDH</span>
537
- 255: <span class="ruby-identifier">err_flag</span> = <span class="ruby-value">1</span>
538
- 256: <span class="ruby-keyword kw">end</span>
539
- 257: <span class="ruby-keyword kw">end</span>
540
- 258: <span class="ruby-keyword kw">end</span>
541
- 259: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">err_flag</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
542
- 260: <span class="ruby-identifier">curr_host_names</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">token</span>
543
- 261: <span class="ruby-keyword kw">end</span>
544
- 262: <span class="ruby-keyword kw">end</span>
545
- 263: <span class="ruby-keyword kw">end</span>
546
- 264:
547
- 265: <span class="ruby-comment cmt">#BaseURI can not be /admin-panel</span>
548
- 266: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">BASEURI_AS_ADMIN_PANEL_BASEURI_VALIDATION</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">baseuri</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">baseuri</span>.<span class="ruby-identifier">strip</span> <span class="ruby-operator">==</span> <span class="ruby-constant">ADMIN_PANEL_BASE_URI</span>
549
- 267: <span class="ruby-identifier">all_host_names</span> = []
550
- 268: <span class="ruby-identifier">curr_host_names_size</span> = <span class="ruby-identifier">curr_host_names</span>.<span class="ruby-identifier">size</span>
551
- 269:
552
- 270: <span class="ruby-comment cmt">#checking uniqueness of BaseURI</span>
553
- 271: <span class="ruby-identifier">info</span>= <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_file</span>(<span class="ruby-constant">CONFIG_FILE_PATH</span>)
554
- 272: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>]
555
- 273: <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
556
- 274: <span class="ruby-identifier">flag</span> = <span class="ruby-value">0</span>
557
- 275: <span class="ruby-keyword kw">while</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">i</span>])
558
- 276: <span class="ruby-identifier">flag</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">baseuri</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">baseuri</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value str">'baseuri'</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">baseuri</span>.<span class="ruby-identifier">strip</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">app_id</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_i</span>
559
- 277: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-node">&quot;#{name} - #{APPLICATION_NAME_REPEATED}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value str">'name'</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">app_id</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_i</span>
560
- 278: <span class="ruby-identifier">all_host_names</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value str">'host_names'</span>].<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/ /</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">i</span>][<span class="ruby-value str">'host_names'</span>] <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">curr_host_names_size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">app_id</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">to_i</span>
561
- 279: <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
562
- 280: <span class="ruby-keyword kw">end</span>
563
- 281: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">BASEURI_EXISTANCE_VALIDATION</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">flag</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
564
- 282: <span class="ruby-keyword kw">end</span>
565
- 283: <span class="ruby-identifier">all_host_names</span>.<span class="ruby-identifier">flatten!</span>
566
- 284: <span class="ruby-comment cmt"># checking uniqueness of Hostnames</span>
567
- 285: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">curr_host_names_size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
568
- 286: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-constant">HOSTNAME_REPEATED</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">curr_host_names_size</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">curr_host_names</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">size</span>
569
- 287: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">all_host_names</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
570
- 288: <span class="ruby-identifier">curr_host_names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c_host_name</span><span class="ruby-operator">|</span>
571
- 289: <span class="ruby-identifier">all_host_names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">host_name</span><span class="ruby-operator">|</span>
572
- 290: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">c_host_name</span>.<span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">host_name</span>)
573
- 291: <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add_to_base</span> <span class="ruby-node">&quot;#{c_host_name}-#{HOSTNAME_REPEATED }&quot;</span>
574
- 292: <span class="ruby-keyword kw">break</span>
575
- 293: <span class="ruby-keyword kw">end</span>
576
- 294: <span class="ruby-keyword kw">end</span>
577
- 295: <span class="ruby-keyword kw">end</span>
578
- 296: <span class="ruby-keyword kw">end</span>
579
- 297: <span class="ruby-keyword kw">end</span>
580
- 298: <span class="ruby-keyword kw">end</span>
581
- 299: <span class="ruby-keyword kw">end</span>
582
- </pre>
583
- </div>
584
- </div>
585
- </div>
586
-
587
- <div id="method-M000127" class="method-detail">
588
- <a name="M000127"></a>
589
-
590
- <div class="method-heading">
591
- <a href="#M000127" class="method-signature">
592
- <span class="method-name">write</span><span class="method-args">()</span>
593
- </a>
594
- </div>
595
-
596
- <div class="method-description">
597
- <p>
598
- validates_format_of :baseuri, :with =&gt; /^\/[A-Za-z0-9_\-\/]*$/i,
599
- :message =&gt; &quot;must start with &#8217;/&#8217; and contains
600
- characters A-Z, a-z, 0-9 , _ , - and /.&quot;
601
- </p>
602
- <p><a class="source-toggle" href="#"
603
- onclick="toggleCode('M000127-source');return false;">[Source]</a></p>
604
- <div class="method-source-code" id="M000127-source">
605
- <pre>
606
- <span class="ruby-comment cmt"># File app/models/application_specification.rb, line 44</span>
607
- 44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>
608
- 45: <span class="ruby-identifier">server_specification</span> = <span class="ruby-constant">ServerSpecification</span>.<span class="ruby-identifier">get_hash</span>
609
- 46: <span class="ruby-identifier">info</span>= <span class="ruby-constant">YAML</span><span class="ruby-operator">::</span><span class="ruby-identifier">load_file</span>(<span class="ruby-constant">CONFIG_FILE_PATH</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
610
- 47: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>
611
- 48: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>]
612
- 49: <span class="ruby-identifier">i</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>].<span class="ruby-identifier">size</span>
613
- 50: <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>][<span class="ruby-identifier">i</span>] = <span class="ruby-identifier">obj_to_hash</span>
614
- 51: <span class="ruby-identifier">data</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value str">'Application Specification'</span>]
615
- 52: <span class="ruby-keyword kw">else</span>
616
- 53: <span class="ruby-identifier">data</span> = <span class="ruby-constant">Array</span>[<span class="ruby-identifier">obj_to_hash</span>]
617
- 54: <span class="ruby-keyword kw">end</span>
618
- 55: <span class="ruby-keyword kw">else</span>
619
- 56: <span class="ruby-identifier">data</span> = <span class="ruby-constant">Array</span>[<span class="ruby-identifier">obj_to_hash</span>]
620
- 57: <span class="ruby-keyword kw">end</span>
621
- 58: <span class="ruby-identifier">info</span> = <span class="ruby-constant">Hash</span>[<span class="ruby-value str">'Server Specification'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">server_specification</span>, <span class="ruby-value str">'Application Specification'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span>]
622
- 59: <span class="ruby-constant">YAMLWriter</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">info</span>, <span class="ruby-constant">CONFIG_FILE_PATH</span>, <span class="ruby-value str">&quot;config&quot;</span>)
623
- 60: <span class="ruby-keyword kw">end</span>
624
- </pre>
625
- </div>
626
- </div>
627
- </div>
628
-
629
-
630
- </div>
631
-
632
-
633
- </div>
634
-
635
-
636
- <div id="validator-badges">
637
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
638
- </div>
639
-
640
- </body>
641
- </html>