rad_core 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (330) hide show
  1. data/Rakefile +4 -3
  2. data/lib/components/config.rb +6 -0
  3. data/lib/components/controller.rb +5 -0
  4. data/lib/components/controller.yml +3 -0
  5. data/lib/components/conveyors.rb +7 -0
  6. data/lib/components/environment.rb +5 -0
  7. data/lib/components/environment.yml +3 -0
  8. data/lib/components/flash.rb +5 -0
  9. data/lib/components/html.rb +4 -0
  10. data/lib/components/html.yml +3 -0
  11. data/lib/components/http.rb +6 -0
  12. data/lib/components/http.yml +13 -0
  13. data/lib/components/logger.rb +5 -0
  14. data/lib/components/mailer.rb +9 -0
  15. data/lib/components/remote.rb +4 -0
  16. data/lib/components/router.rb +13 -0
  17. data/lib/components/router.yml +2 -0
  18. data/lib/components/template.rb +8 -0
  19. data/lib/components/template.yml +1 -0
  20. data/lib/components/web.rb +8 -0
  21. data/lib/components/workspace.rb +1 -0
  22. data/lib/rad/{support → _support}/active_support/locales/en/actionpack.yml +0 -0
  23. data/lib/rad/{support → _support}/active_support/locales/en/activesupport.yml +0 -0
  24. data/lib/rad/_support/active_support/locales/ru/actionview.yml +162 -0
  25. data/lib/rad/_support/active_support/locales/ru/activesupport.yml +16 -0
  26. data/lib/rad/_support/active_support/locales/ru/datetime.yml +49 -0
  27. data/lib/rad/{support → _support}/active_support/micelaneous.rb +0 -0
  28. data/lib/rad/{support → _support}/active_support/time.rb +0 -0
  29. data/lib/rad/{support → _support}/active_support.rb +14 -2
  30. data/lib/rad/{support → _support}/addressable.rb +0 -0
  31. data/lib/rad/_support/callbacks.rb +166 -0
  32. data/lib/rad/_support/class_loader.rb +9 -0
  33. data/lib/rad/_support/encoding.rb +3 -0
  34. data/lib/rad/_support/exception.rb +45 -0
  35. data/lib/rad/_support/extensions.rb +20 -0
  36. data/lib/rad/_support/filters.rb +32 -0
  37. data/lib/rad/{support → _support}/hacks_and_fixes.rb +0 -0
  38. data/lib/rad/{support → _support}/mime.rb +6 -0
  39. data/lib/rad/{support → _support}/module.rb +7 -9
  40. data/lib/rad/_support/require.rb +62 -0
  41. data/lib/rad/{support → _support}/rson.rb +0 -0
  42. data/lib/rad/{support → _support}/ruby_ext_with_active_support.rb +0 -0
  43. data/lib/rad/{support → _support}/string.rb +9 -1
  44. data/lib/rad/controller/_abstract/micelaneous.rb +27 -0
  45. data/lib/rad/controller/_abstract/render.rb +159 -0
  46. data/lib/rad/controller/_abstract/responder.rb +13 -0
  47. data/lib/rad/controller/_abstract.rb +37 -0
  48. data/lib/rad/controller/_context.rb +15 -0
  49. data/lib/rad/controller/_http.rb +50 -0
  50. data/lib/rad/controller/_require.rb +19 -0
  51. data/lib/rad/controller/abstract.rb +1 -0
  52. data/lib/rad/controller/context.rb +1 -0
  53. data/lib/rad/controller/http.rb +1 -0
  54. data/lib/rad/controller/processors/controller_caller.rb +22 -24
  55. data/lib/rad/controller/processors/controller_error_handling.rb +46 -48
  56. data/lib/rad/controller/processors/controller_logger.rb +7 -9
  57. data/lib/rad/controller.rb +1 -28
  58. data/lib/rad/conveyors/_conveyor.rb +73 -0
  59. data/lib/rad/conveyors/_conveyors.rb +19 -0
  60. data/lib/rad/conveyors/_params.rb +10 -0
  61. data/lib/rad/conveyors/_processor.rb +13 -0
  62. data/lib/rad/conveyors/_require.rb +10 -0
  63. data/lib/rad/conveyors/_workspace.rb +34 -0
  64. data/lib/rad/conveyors/params.rb +1 -0
  65. data/lib/rad/conveyors/processor.rb +1 -0
  66. data/lib/rad/conveyors/processors/conveyor_logger.rb +23 -0
  67. data/lib/rad/conveyors/workspace.rb +1 -0
  68. data/lib/rad/conveyors.rb +1 -0
  69. data/lib/rad/core_web/_controller_micelaneous_helper.rb +17 -0
  70. data/lib/rad/core_web/_require.rb +25 -0
  71. data/lib/rad/core_web/_router/abstract_routing_helper.rb +20 -0
  72. data/lib/rad/core_web/_router/controller_routing_helper.rb +56 -0
  73. data/lib/rad/core_web/_router/view_routing_helper.rb +57 -0
  74. data/lib/rad/environment/_config.rb +27 -0
  75. data/lib/rad/environment/_environment.rb +17 -0
  76. data/lib/rad/environment/_files_helper.rb +55 -0
  77. data/lib/rad/environment/_logger.rb +53 -0
  78. data/lib/rad/environment/_require.rb +24 -0
  79. data/lib/rad/environment/config.rb +1 -111
  80. data/lib/rad/environment.rb +1 -55
  81. data/lib/{rad_core → rad}/gems.rb +2 -3
  82. data/lib/rad/html/_flash.rb +40 -0
  83. data/lib/rad/html/_helpers/basic_html_helper.rb +72 -0
  84. data/lib/rad/html/_helpers/flash_helper.rb +3 -0
  85. data/lib/rad/html/_helpers/form_helper.rb +114 -0
  86. data/lib/rad/html/_helpers/html_helper.rb +3 -0
  87. data/lib/rad/html/_helpers/javascript_helper.rb +27 -0
  88. data/lib/rad/html/_helpers/model_helper.rb +143 -0
  89. data/lib/rad/html/_require.rb +15 -0
  90. data/lib/rad/html/processors/prepare_flash.rb +22 -23
  91. data/lib/rad/html/processors/scoped_params.rb +18 -21
  92. data/lib/rad/html.rb +1 -26
  93. data/lib/rad/http/_http.rb +11 -0
  94. data/lib/rad/http/_http_adapter.rb +44 -0
  95. data/lib/rad/http/_request.rb +50 -0
  96. data/lib/rad/http/_require.rb +33 -0
  97. data/lib/rad/http/_response.rb +84 -0
  98. data/lib/rad/http/{support → _support}/rack/fixes.rb +0 -0
  99. data/lib/rad/http/_support/rack/rack_adapter.rb +57 -0
  100. data/lib/rad/http/processors/evaluate_format.rb +16 -19
  101. data/lib/rad/http/processors/http_logger.rb +10 -12
  102. data/lib/rad/http/processors/http_writer.rb +24 -26
  103. data/lib/rad/http/processors/prepare_params.rb +19 -18
  104. data/lib/rad/http/request.rb +1 -0
  105. data/lib/rad/http/response.rb +1 -0
  106. data/lib/rad/http.rb +1 -48
  107. data/lib/rad/mailer/_letter.rb +28 -0
  108. data/lib/rad/mailer/_mailer.rb +13 -0
  109. data/lib/rad/mailer/_mailer_controller.rb +38 -0
  110. data/lib/rad/mailer/_require.rb +7 -0
  111. data/lib/rad/mailer/mailer_controller.rb +1 -0
  112. data/lib/rad/mailer/processors/letter_builder.rb +34 -0
  113. data/lib/rad/mailer.rb +1 -0
  114. data/lib/rad/profiles/mailer.rb +5 -0
  115. data/lib/rad/profiles/web.rb +29 -52
  116. data/lib/rad/remote/_remote_controller.rb +9 -0
  117. data/lib/rad/remote/_require.rb +6 -0
  118. data/lib/rad/remote/processors/remote_caller.rb +44 -46
  119. data/lib/rad/remote/processors/remote_logger.rb +8 -10
  120. data/lib/rad/remote/remote_controller.rb +1 -0
  121. data/lib/rad/remote.rb +1 -9
  122. data/lib/rad/router/_abstract_router.rb +50 -0
  123. data/lib/rad/router/_alias_router.rb +124 -0
  124. data/lib/rad/router/_basic_router.rb +72 -0
  125. data/lib/rad/router/_configurator.rb +19 -0
  126. data/lib/rad/router/_core_routing_helper.rb +39 -0
  127. data/lib/rad/router/_default_format_processor.rb +10 -0
  128. data/lib/rad/router/_object_router.rb +184 -0
  129. data/lib/rad/router/_require.rb +31 -0
  130. data/lib/rad/router/_restful_router.rb +124 -0
  131. data/lib/rad/router/_router.rb +294 -0
  132. data/lib/rad/router/_simple_router.rb +21 -0
  133. data/lib/rad/router/abstract_router.rb +1 -0
  134. data/lib/rad/router/alias_router.rb +1 -0
  135. data/lib/rad/router/configurator.rb +1 -0
  136. data/lib/rad/router/micelaneous_router.rb +1 -0
  137. data/lib/rad/router/object_router.rb +1 -0
  138. data/lib/rad/router/processors/router.rb +23 -0
  139. data/lib/rad/router/restful_router.rb +1 -0
  140. data/lib/rad/{html/include_into_controller.rb → router/simple_router.rb} +0 -0
  141. data/lib/rad/router.rb +1 -29
  142. data/lib/rad/spec/controller.rb +20 -11
  143. data/lib/rad/spec/environment.rb +22 -38
  144. data/lib/rad/spec/http.rb +13 -86
  145. data/lib/rad/spec/http_controller.rb +105 -0
  146. data/lib/rad/spec/mailer.rb +27 -0
  147. data/lib/rad/spec/remote.rb +2 -2
  148. data/lib/rad/spec/router.rb +9 -11
  149. data/lib/rad/spec/template.rb +8 -2
  150. data/lib/rad/spec/xhtml.rb +0 -2
  151. data/lib/rad/spec.rb +4 -2
  152. data/lib/rad/template/_context.rb +92 -0
  153. data/lib/rad/template/_relative_path_resolver.rb +8 -0
  154. data/lib/rad/template/_require.rb +15 -0
  155. data/lib/rad/template/{support → _support}/tilt.rb +0 -0
  156. data/lib/rad/template/{support → _support}/tilt_fixes.rb +0 -0
  157. data/lib/rad/template/_template.rb +175 -0
  158. data/lib/rad/template/template_context.rb +1 -62
  159. data/lib/rad/template.rb +1 -25
  160. data/lib/rad.rb +8 -0
  161. data/readme.md +40 -12
  162. data/spec/controller/{abstract_controller_spec → abstract_spec}/views/OperationsOrderSpec/action.erb +0 -0
  163. data/spec/controller/{abstract_controller_spec → abstract_spec}/views/ViewVariablesSpec/action.erb +0 -0
  164. data/spec/controller/abstract_spec.rb +126 -0
  165. data/spec/controller/{controller_context_spec/views/ItemSpec → context_spec/views/NamespaceSpec/ClassSpec}/show.erb +0 -0
  166. data/spec/controller/{controller_context_spec/views/ItemSpec → context_spec/views/item_spec}/actions.erb +0 -0
  167. data/spec/controller/{controller_context_spec/views/NamespaceSpec/ClassSpec → context_spec/views/item_spec}/show.erb +0 -0
  168. data/spec/controller/{controller_context_spec/views/ItemSpec → context_spec/views/item_spec}/update.erb +0 -0
  169. data/spec/controller/{controller_context_spec → context_spec}/views/namespace_spec/class_spec/update.erb +0 -0
  170. data/spec/controller/{controller_context_spec/views/PageSpec → context_spec/views/page_spec}/actions.erb +0 -0
  171. data/spec/controller/{controller_context_spec/views/PageSpec → context_spec/views/page_spec}/show.erb +0 -0
  172. data/spec/controller/context_spec.rb +123 -0
  173. data/spec/controller/error_handling_spec.rb +21 -27
  174. data/spec/controller/{controller_helper_spec → helper_spec}/views/HelperMethodSpec/action.erb +0 -0
  175. data/spec/controller/{controller_helper_spec → helper_spec}/views/HelperSpec/action.erb +0 -0
  176. data/spec/controller/{controller_helper_spec.rb → helper_spec.rb} +7 -13
  177. data/spec/controller/{http_controller_spec.rb → http_spec.rb} +17 -23
  178. data/spec/controller/{controller_render_spec/views/AlreadyRenderedSpec → render_spec/views/already_rendered_spec}/action.erb +0 -0
  179. data/spec/controller/{controller_render_spec/views/AlreadyRenderedSpec → render_spec/views/already_rendered_spec}/custom_template.erb +0 -0
  180. data/spec/controller/{controller_render_spec/views/AnotherActionSpec → render_spec/views/another_action_spec}/another_action.erb +0 -0
  181. data/spec/controller/{controller_render_spec/views/AnotherLayout → render_spec/views/another_layout}/action.erb +0 -0
  182. data/spec/controller/{controller_render_spec/views/ForbidPartialAsActionSpec → render_spec/views/forbid_partial_as_action_spec}/_action.erb +0 -0
  183. data/spec/controller/{controller_render_spec/views/FormatSpec → render_spec/views/format_spec}/action.html.erb +0 -0
  184. data/spec/controller/{controller_render_spec/views/FormatSpec → render_spec/views/format_spec}/action.js.erb +0 -0
  185. data/spec/controller/{controller_render_spec/views/LayoutFiltersSpec → render_spec/views/layout_filters_spec}/action_with_layout.erb +0 -0
  186. data/spec/controller/{controller_render_spec/views/LayoutFiltersSpec → render_spec/views/layout_filters_spec}/action_without_layout.erb +0 -0
  187. data/spec/controller/{controller_render_spec/views/LayoutSpec → render_spec/views/layout_spec}/action.erb +0 -0
  188. data/spec/controller/{controller_render_spec → render_spec}/views/layouts/admin.erb +0 -0
  189. data/spec/controller/{controller_render_spec → render_spec}/views/layouts/app.html.erb +0 -0
  190. data/spec/controller/{controller_render_spec → render_spec}/views/layouts/app.js.erb +0 -0
  191. data/spec/controller/{controller_render_spec/views/MultipleActions → render_spec/views/multiple_actions}/actions.haml +0 -0
  192. data/spec/controller/render_spec/views/relative_spec/a/form.erb +1 -0
  193. data/spec/controller/render_spec/views/relative_spec/a/show.erb +1 -0
  194. data/spec/controller/render_spec/views/relative_spec/b/form.erb +1 -0
  195. data/spec/controller/{controller_render_spec → render_spec}/views/some_template.erb +0 -0
  196. data/spec/controller/{controller_render_spec → render_spec}/views/standalone.html.erb +0 -0
  197. data/spec/controller/{controller_render_spec.rb → render_spec.rb} +37 -27
  198. data/spec/{conveyor/conveyor_spec.rb → conveyors/conveyors_spec.rb} +36 -14
  199. data/spec/environment/config_spec.rb +13 -21
  200. data/spec/environment/environment_spec.rb +14 -41
  201. data/spec/environment/logger_spec.rb +4 -13
  202. data/spec/environment/minimal_app_spec/app.rb +1 -1
  203. data/spec/environment/minimal_app_spec.rb +12 -14
  204. data/spec/environment/standard_app_spec/app/lib/app/init.rb +1 -1
  205. data/spec/environment/standard_app_spec/plugin_a/lib/plugin_a/init.rb +1 -1
  206. data/spec/environment/standard_app_spec.rb +17 -25
  207. data/spec/html/basic_html_helper_spec.rb +7 -4
  208. data/spec/html/form_helper_spec.rb +5 -5
  209. data/spec/html/javascript_helper_spec.rb +9 -5
  210. data/spec/html/model_helper_spec.rb +9 -6
  211. data/spec/html/scoped_params_spec.rb +2 -2
  212. data/spec/html/spec_helper.rb +16 -24
  213. data/spec/http/http_spec.rb +14 -35
  214. data/spec/http/micelaneous_spec.rb +3 -3
  215. data/spec/{mail → mailer}/mail_controller_spec/views/body_template_spec/signup.erb +0 -0
  216. data/spec/{mail → mailer}/mail_controller_spec.rb +36 -12
  217. data/spec/mailer/spec_helper.rb +5 -0
  218. data/spec/remote/remote_spec.rb +23 -8
  219. data/spec/router/alias_router_spec.rb +29 -30
  220. data/spec/router/basic_router_spec.rb +44 -0
  221. data/spec/router/configurator_spec.rb +9 -6
  222. data/spec/router/integration_spec.rb +10 -7
  223. data/spec/router/object_router_spec.rb +186 -0
  224. data/spec/router/persistent_params_spec.rb +4 -4
  225. data/spec/router/restful_router_spec.rb +61 -53
  226. data/spec/router/{basic_spec.rb → router_spec.rb} +26 -23
  227. data/spec/router/routing_helper_spec.rb +5 -6
  228. data/spec/spec_helper.rb +4 -0
  229. data/spec/support/callbacks_spec.rb +1 -1
  230. data/spec/support/filters_spec.rb +2 -2
  231. data/spec/support/spec_helper.rb +1 -1
  232. data/spec/template/template_spec/views/format_for_partials/dialog.js.erb +1 -1
  233. data/spec/template/template_spec/views/nested/format/a.erb +1 -1
  234. data/spec/template/template_spec/views/nested/format/b.js.erb +1 -0
  235. data/spec/template/template_spec/views/nesting_format/dialog.js.erb +1 -1
  236. data/spec/template/template_spec.rb +62 -48
  237. data/spec/template/tilt_spec/views/concat_and_capture.erb +1 -1
  238. data/spec/template/tilt_spec/views/concat_and_capture.haml +1 -1
  239. data/spec/template/tilt_spec.rb +17 -19
  240. data/spec/{integration → web}/basic_spec/views/smoke_test_spec/action.erb +0 -0
  241. data/spec/{integration → web}/basic_spec.rb +31 -12
  242. data/spec/{integration → web}/controller_routing_helper_spec.rb +13 -11
  243. data/spec/{integration → web}/flash_spec.rb +57 -42
  244. data/spec/{integration → web}/spec_helper_spec.rb +11 -10
  245. data/spec/{integration → web}/view_routing_helper_spec.rb +44 -36
  246. metadata +338 -318
  247. data/lib/rad/controller/abstract_controller/micelaneous.rb +0 -31
  248. data/lib/rad/controller/abstract_controller/render.rb +0 -160
  249. data/lib/rad/controller/abstract_controller/responder.rb +0 -17
  250. data/lib/rad/controller/abstract_controller.rb +0 -64
  251. data/lib/rad/controller/controller_context.rb +0 -15
  252. data/lib/rad/controller/http_controller.rb +0 -48
  253. data/lib/rad/conveyor/conveyor.rb +0 -74
  254. data/lib/rad/conveyor/conveyors.rb +0 -20
  255. data/lib/rad/conveyor/params.rb +0 -14
  256. data/lib/rad/conveyor/processor.rb +0 -68
  257. data/lib/rad/conveyor/processors/conveyor_logger.rb +0 -25
  258. data/lib/rad/conveyor/workspace.rb +0 -36
  259. data/lib/rad/conveyor.rb +0 -29
  260. data/lib/rad/environment/dependency_resolver.rb +0 -107
  261. data/lib/rad/environment/environment.rb +0 -29
  262. data/lib/rad/environment/files_helper.rb +0 -55
  263. data/lib/rad/environment/logger.rb +0 -21
  264. data/lib/rad/html/flash.rb +0 -42
  265. data/lib/rad/html/helpers/basic_html_helper.rb +0 -83
  266. data/lib/rad/html/helpers/flash_helper.rb +0 -5
  267. data/lib/rad/html/helpers/form_helper.rb +0 -115
  268. data/lib/rad/html/helpers/html_helper.rb +0 -5
  269. data/lib/rad/html/helpers/javascript_helper.rb +0 -18
  270. data/lib/rad/html/helpers/model_helper.rb +0 -135
  271. data/lib/rad/http/http.rb +0 -21
  272. data/lib/rad/http/http_adapter.rb +0 -36
  273. data/lib/rad/http/middleware/static_files.rb +0 -21
  274. data/lib/rad/http/support/rack/rack_adapter.rb +0 -67
  275. data/lib/rad/http/support/rack/request.rb +0 -42
  276. data/lib/rad/http/support/rack/response.rb +0 -86
  277. data/lib/rad/integration/controller_micelaneous_helper.rb +0 -19
  278. data/lib/rad/integration/router/abstract_routing_helper.rb +0 -22
  279. data/lib/rad/integration/router/controller_routing_helper.rb +0 -58
  280. data/lib/rad/integration/router/view_routing_helper.rb +0 -104
  281. data/lib/rad/integration.rb +0 -30
  282. data/lib/rad/mail/letter.rb +0 -30
  283. data/lib/rad/mail/mail_controller.rb +0 -31
  284. data/lib/rad/mail/mailer.rb +0 -23
  285. data/lib/rad/mail/processors/letter_builder.rb +0 -36
  286. data/lib/rad/mail.rb +0 -15
  287. data/lib/rad/profiles/mail.rb +0 -16
  288. data/lib/rad/profiles/web_require.rb +0 -5
  289. data/lib/rad/remote/remote.rb +0 -15
  290. data/lib/rad/router/core/configurator.rb +0 -25
  291. data/lib/rad/router/core/core_routing_helper.rb +0 -41
  292. data/lib/rad/router/core/default_format_processor.rb +0 -12
  293. data/lib/rad/router/core/processors/router.rb +0 -29
  294. data/lib/rad/router/core/router.rb +0 -271
  295. data/lib/rad/router/core/simple_router.rb +0 -23
  296. data/lib/rad/router/routers/abstract_router.rb +0 -62
  297. data/lib/rad/router/routers/alias_router.rb +0 -113
  298. data/lib/rad/router/routers/restful_router.rb +0 -113
  299. data/lib/rad/spec/mail.rb +0 -31
  300. data/lib/rad/spec/view.rb +0 -10
  301. data/lib/rad/support/buffered_logger.rb +0 -44
  302. data/lib/rad/support/callbacks.rb +0 -168
  303. data/lib/rad/support/exception.rb +0 -31
  304. data/lib/rad/support/filters.rb +0 -34
  305. data/lib/rad/support/format.rb +0 -17
  306. data/lib/rad/support/micon.rb +0 -13
  307. data/lib/rad/support.rb +0 -63
  308. data/lib/rad/template/template.rb +0 -250
  309. data/spec/controller/abstract_controller_spec.rb +0 -132
  310. data/spec/controller/controller_context_spec.rb +0 -123
  311. data/spec/controller/controller_render_spec/views/rem ExplicitRenderSpec/action.erb +0 -1
  312. data/spec/controller/controller_render_spec/views/rem ExplicitRenderSpec/another_action.erb +0 -1
  313. data/spec/controller/spec_helper.rb +0 -19
  314. data/spec/conveyor/spec_helper.rb +0 -3
  315. data/spec/environment/config_spec/config.default.yml +0 -3
  316. data/spec/environment/config_spec/config.development.yml +0 -3
  317. data/spec/environment/config_spec/config.yml +0 -5
  318. data/spec/environment/spec_helper.rb +0 -1
  319. data/spec/http/http_spec/app/lib/app/init.rb +0 -10
  320. data/spec/http/http_spec/app/runtime/public/emptygit +0 -0
  321. data/spec/http/http_spec/plugin_a/lib/plugin_a/init.rb +0 -0
  322. data/spec/http/http_spec/plugin_b/lib/plugin_b/init.rb +0 -5
  323. data/spec/http/http_spec/plugin_b/static/emptygit +0 -0
  324. data/spec/http/spec_helper.rb +0 -5
  325. data/spec/integration/spec_helper.rb +0 -5
  326. data/spec/mail/spec_helper.rb +0 -7
  327. data/spec/remote/spec_helper.rb +0 -17
  328. data/spec/router/spec_helper.rb +0 -20
  329. data/spec/template/spec_helper.rb +0 -6
  330. data/spec/template/template_spec/views/nested/format/b.erb +0 -1
data/Rakefile CHANGED
@@ -1,9 +1,10 @@
1
1
  require 'rake_ext'
2
2
 
3
3
  project(
4
- name: 'rad_core',
5
- version: '0.0.13',
6
- summary: 'Ruby Web Framework',
4
+ name: 'rad',
5
+ official_name: 'rad_core',
6
+ gem: true,
7
+ summary: 'General purposed Web/App Framework',
7
8
 
8
9
  author: 'Alexey Petrushin',
9
10
  homepage: 'http://github.com/alexeypetrushin/rad_core'
@@ -0,0 +1,6 @@
1
+ rad.register :config do
2
+ require 'rad/environment/_require'
3
+
4
+ config = Rad::Config.new
5
+ config
6
+ end
@@ -0,0 +1,5 @@
1
+ rad.register :controller, depends_on: [:conveyors, :template, :http] do
2
+ require 'rad/controller/_require'
3
+
4
+ Rad::Controller.new
5
+ end
@@ -0,0 +1,3 @@
1
+ development_error_template: '/rad_default_templates/development/error'
2
+ production_error_template: nil
3
+ test_error_template: '/rad_default_templates/development/error'
@@ -0,0 +1,7 @@
1
+ # Conveyor is the heart of Rad, it allows for Processors to process request and build responce.
2
+
3
+ rad.register :conveyors, depends_on: :environment do
4
+ require 'rad/conveyors/_require'
5
+
6
+ Rad::Conveyors.new
7
+ end
@@ -0,0 +1,5 @@
1
+ rad.register :environment, depends_on: [:config, :logger] do
2
+ require 'rad/environment/_require'
3
+ rad.logger.info "RAD #{Rad::VERSION} starting in :#{rad.mode} mode (at #{Time.now.to_s})" unless rad.test?
4
+ Rad::Environment.new
5
+ end
@@ -0,0 +1,3 @@
1
+ available_languages:
2
+ - :en
3
+ language: :en
@@ -0,0 +1,5 @@
1
+ rad.register :flash, scope: :cycle, depends_on: [:html] do
2
+ workspace = rad.workspace
3
+ workspace.params.must_be.defined
4
+ Rad::Html::Flash.new workspace.params.format
5
+ end
@@ -0,0 +1,4 @@
1
+ rad.register :html, depends_on: [:http, :template] do
2
+ require 'rad/html/_require'
3
+ Rad::Html.new
4
+ end
@@ -0,0 +1,3 @@
1
+ remote_link_formats:
2
+ - 'js'
3
+ - 'json'
@@ -0,0 +1,6 @@
1
+ # Http provides support for Http protocol (via Rack)
2
+
3
+ rad.register :http, depends_on: :conveyors do
4
+ require 'rad/http/_require'
5
+ http = Rad::Http.new
6
+ end
@@ -0,0 +1,13 @@
1
+ host: 'localhost'
2
+ port: 4000
3
+ static: true
4
+ url_root: '/'
5
+ default_format: 'html'
6
+
7
+ # session sample
8
+ # session:
9
+ # key: 'rack.session'
10
+ # domain: 'foo.com'
11
+ # path: '/'
12
+ # expire_after: 2592000
13
+ # secret: 'change_me'
@@ -0,0 +1,5 @@
1
+ rad.register :logger do
2
+ require 'rad/environment/_require'
3
+
4
+ defined?(SILENCE_LOGGER) ? Rad::Logger.new(nil) : Rad::Logger.new(STDOUT)
5
+ end
@@ -0,0 +1,9 @@
1
+ rad.register :mailer, depends_on: [:controller, :template] do
2
+ require 'rad/mailer/_require'
3
+
4
+ rad.development do
5
+ Mail.defaults{delivery_method :test}
6
+ end
7
+
8
+ Rad::Mailer.new
9
+ end
@@ -0,0 +1,4 @@
1
+ rad.register :remote, depends_on: :conveyors do
2
+ require 'rad/remote/_require'
3
+ Rad::Remote.new
4
+ end
@@ -0,0 +1,13 @@
1
+ rad.register :router, depends_on: [:conveyors, :http] do
2
+ require 'rad/router/_require'
3
+
4
+ Rad::Router.new(
5
+ :class,
6
+ [
7
+ [:alias_router, Rad::Router::AliasRouter.new],
8
+ [:basic_router, Rad::Router::BasicRouter.new],
9
+ [:restful_router, Rad::Router::RestfulRouter.new],
10
+ [:simple_router, Rad::Router::SimpleRouter.new]
11
+ ]
12
+ )
13
+ end
@@ -0,0 +1,2 @@
1
+ default_path: '/'
2
+ default_method: 'call'
@@ -0,0 +1,8 @@
1
+ rad.register :template do
2
+ require 'rad/template/_require'
3
+
4
+ template = Rad::Template.new
5
+ rad_dir = "#{__FILE__}/../../../..".dirname
6
+ template.paths << "#{rad_dir}/views"
7
+ template
8
+ end
@@ -0,0 +1 @@
1
+ prefixes: ['', '_']
@@ -0,0 +1,8 @@
1
+ rad.register :web, depends_on: [:html, :router, :controller, :http] do
2
+ require 'rad/core_web/_require'
3
+
4
+ load 'rad/profiles/web.rb'
5
+ load 'rad/profiles/mailer.rb'
6
+
7
+ true
8
+ end
@@ -0,0 +1 @@
1
+ rad.register :workspace, depends_on: :conveyors, scope: :cycle
@@ -0,0 +1,162 @@
1
+ ru:
2
+ number:
3
+ # Используется в number_with_delimiter()
4
+ # Также является установками по умолчанию для 'currency', 'percentage', 'precision', 'human'
5
+ #
6
+ # Used in number_with_delimiter()
7
+ # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
8
+ format:
9
+ # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
10
+ separator: "."
11
+ # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
12
+ delimiter: " "
13
+ # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
14
+ precision: 3
15
+
16
+ # Used in number_to_currency()
17
+ currency:
18
+ format:
19
+ # Формат отображения валюты и обозначение самой валюты
20
+ #
21
+ #
22
+ # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
23
+ format: "%n %u"
24
+ unit: "руб."
25
+ # These three are to override number.format and are optional
26
+ separator: "."
27
+ delimiter: " "
28
+ precision: 2
29
+
30
+ # Used in number_to_percentage()
31
+ percentage:
32
+ format:
33
+ # These three are to override number.format and are optional
34
+ # separator:
35
+ delimiter: ""
36
+
37
+ # Used in number_to_precision()
38
+ precision:
39
+ format:
40
+ # These three are to override number.format and are optional
41
+ # separator:
42
+ delimiter: ""
43
+ # precision:
44
+
45
+ # Used in number_to_human_size()
46
+ human:
47
+ format:
48
+ # These three are to override number.format and are optional
49
+ # separator:
50
+ delimiter: ""
51
+ precision: 1
52
+
53
+ # Rails 2.2
54
+ # storage_units: [байт, КБ, МБ, ГБ, ТБ]
55
+
56
+ # Rails 2.3
57
+ storage_units:
58
+ # Storage units output formatting.
59
+ # %u is the storage unit, %n is the number (default: 2 MB)
60
+ format: "%n %u"
61
+ units:
62
+ byte:
63
+ one: "байт"
64
+ few: "байта"
65
+ many: "байт"
66
+ other: "байта"
67
+ kb: "КБ"
68
+ mb: "МБ"
69
+ gb: "ГБ"
70
+ tb: "ТБ"
71
+
72
+ # Используется в хелперах distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
73
+ #
74
+ #
75
+ # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
76
+ datetime:
77
+ distance_in_words:
78
+ half_a_minute: "меньше минуты"
79
+ less_than_x_seconds:
80
+ one: "меньше %{count} секунды"
81
+ few: "меньше %{count} секунд"
82
+ many: "меньше %{count} секунд"
83
+ other: "меньше %{count} секунды"
84
+ x_seconds:
85
+ one: "%{count} секунда"
86
+ few: "%{count} секунды"
87
+ many: "%{count} секунд"
88
+ other: "%{count} секунды"
89
+ less_than_x_minutes:
90
+ one: "меньше %{count} минуты"
91
+ few: "меньше %{count} минут"
92
+ many: "меньше %{count} минут"
93
+ other: "меньше %{count} минуты"
94
+ x_minutes:
95
+ one: "%{count} минуту"
96
+ few: "%{count} минуты"
97
+ many: "%{count} минут"
98
+ other: "%{count} минуты"
99
+ about_x_hours:
100
+ one: "около %{count} часа"
101
+ few: "около %{count} часов"
102
+ many: "около %{count} часов"
103
+ other: "около %{count} часа"
104
+ x_days:
105
+ one: "%{count} день"
106
+ few: "%{count} дня"
107
+ many: "%{count} дней"
108
+ other: "%{count} дня"
109
+ about_x_months:
110
+ one: "около %{count} месяца"
111
+ few: "около %{count} месяцев"
112
+ many: "около %{count} месяцев"
113
+ other: "около %{count} месяца"
114
+ x_months:
115
+ one: "%{count} месяц"
116
+ few: "%{count} месяца"
117
+ many: "%{count} месяцев"
118
+ other: "%{count} месяца"
119
+ about_x_years:
120
+ one: "около %{count} года"
121
+ few: "около %{count} лет"
122
+ many: "около %{count} лет"
123
+ other: "около %{count} лет"
124
+ over_x_years:
125
+ one: "больше %{count} года"
126
+ few: "больше %{count} лет"
127
+ many: "больше %{count} лет"
128
+ other: "больше %{count} лет"
129
+ almost_x_years:
130
+ one: "почти %{count} год"
131
+ few: "почти %{count} года"
132
+ many: "почти %{count} лет"
133
+ other: "почти %{count} лет"
134
+ prompts:
135
+ year: "Год"
136
+ month: "Месяц"
137
+ day: "День"
138
+ hour: "Часов"
139
+ minute: "Минут"
140
+ second: "Секунд"
141
+
142
+ # Используется в хелпере error_messages_for
143
+ activerecord:
144
+ errors:
145
+ template:
146
+ # Заголовок сообщения об ошибке
147
+ header:
148
+ one: "%{model}: сохранение не удалось из-за %{count} ошибки"
149
+ few: "%{model}: сохранение не удалось из-за %{count} ошибок"
150
+ many: "%{model}: сохранение не удалось из-за %{count} ошибок"
151
+ other: "%{model}: сохранение не удалось из-за %{count} ошибки"
152
+
153
+ # Первый параграф сообщения об ошибке. Можно использовать макрос %{count}
154
+ #
155
+ #
156
+ # The variable :count is also available
157
+ body: "Проблемы возникли со следующими полями:"
158
+
159
+ support:
160
+ select:
161
+ # default value for :prompt => true in FormOptionsHelper
162
+ prompt: "Выберите: "
@@ -0,0 +1,16 @@
1
+ ru:
2
+ # Используется в array.to_sentence
3
+ #
4
+ #
5
+ # Used in array.to_sentence.
6
+ support:
7
+ array:
8
+ # Rails 2.2
9
+ sentence_connector: "и"
10
+ skip_last_comma: true
11
+
12
+ # Rails 2.3
13
+ words_connector: ", "
14
+ two_words_connector: " и "
15
+ last_word_connector: " и "
16
+
@@ -0,0 +1,49 @@
1
+ ru:
2
+ date:
3
+ formats:
4
+ # Форматы указываются в виде, поддерживаемом strftime.
5
+ # По умолчанию используется default.
6
+ # Можно добавлять собственные форматы
7
+ #
8
+ #
9
+ # Use the strftime parameters for formats.
10
+ # When no format has been given, it uses default.
11
+ # You can provide other formats here if you like!
12
+ default: "%d.%m.%Y"
13
+ short: "%d %b"
14
+ long: "%d %B %Y"
15
+
16
+ # Названия дней недели -- контекстные и отдельностоящие
17
+ day_names: [воскресенье, понедельник, вторник, среда, четверг, пятница, суббота]
18
+ standalone_day_names: [Воскресенье, Понедельник, Вторник, Среда, Четверг, Пятница, Суббота]
19
+ abbr_day_names: [Вс, Пн, Вт, Ср, Чт, Пт, Сб]
20
+
21
+ # Названия месяцев -- сокращенные и полные, плюс отдельностоящие.
22
+ # Не забудьте nil в начале массиве (~)
23
+ #
24
+ #
25
+ # Don't forget the nil at the beginning; there's no such thing as a 0th month
26
+ month_names: [~, января, февраля, марта, апреля, мая, июня, июля, августа, сентября, октября, ноября, декабря]
27
+ standalone_month_names: [~, Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь]
28
+ abbr_month_names: [~, янв., февр., марта, апр., мая, июня, июля, авг., сент., окт., нояб., дек.]
29
+ standalone_abbr_month_names: [~, янв., февр., март, апр., май, июнь, июль, авг., сент., окт., нояб., дек.]
30
+
31
+ # Порядок компонентов даты для хелперов
32
+ #
33
+ #
34
+ # Used in date_select and datime_select.
35
+ order:
36
+ - :day
37
+ - :month
38
+ - :year
39
+
40
+ time:
41
+ # Форматы времени
42
+ formats:
43
+ default: "%a, %d %b %Y, %H:%M:%S %z"
44
+ short: "%d %b, %H:%M"
45
+ long: "%d %B %Y, %H:%M"
46
+
47
+ # am/pm решено перевести как "утра/вечера" :)
48
+ am: "утра"
49
+ pm: "вечера"
@@ -1,3 +1,15 @@
1
+ #
2
+ # Some features of ActiveSupport conflicting with Rad, skipping it
3
+ #
4
+ %w(
5
+ active_support/dependencies.rb
6
+ ).each do |relative_path|
7
+ $LOAD_PATH.each do |base_path|
8
+ absolute_path = "#{base_path}/#{relative_path}"
9
+ $LOADED_FEATURES << absolute_path if File.exist? absolute_path
10
+ end
11
+ end
12
+
1
13
  require 'active_support/all'
2
14
 
3
15
  # gem 'activesupport' #, '= 2.3.5'
@@ -39,8 +51,8 @@ require 'active_support/all'
39
51
  %w(
40
52
  micelaneous
41
53
  time
42
- ).each{|f| require "rad/support/active_support/#{f}"}
43
-
54
+ ).each{|f| require "rad/_support/active_support/#{f}"}
55
+ require 'yaml_fix'
44
56
 
45
57
  #
46
58
  # Locales
File without changes
@@ -0,0 +1,166 @@
1
+ module Rad::Callbacks
2
+ class AbstractCallback
3
+ attr_accessor :executor, :terminator
4
+ attr_reader :conditions
5
+ def conditions= conditions
6
+ @conditions = {}
7
+ conditions.each do |k, v|
8
+ @conditions[k.to_sym] = if v.is_a? Symbol
9
+ v.to_s
10
+ elsif v.is_a? Array
11
+ v.collect{|e| e.to_s}
12
+ else
13
+ v
14
+ end
15
+ end
16
+ @conditions
17
+ end
18
+
19
+ def terminate? target, result
20
+ unless terminator.nil?
21
+ if terminator.is_a? Proc
22
+ terminator.call target, result
23
+ else
24
+ result == terminator
25
+ end
26
+ else
27
+ false
28
+ end
29
+ end
30
+
31
+ def run? target, inf
32
+ if cond = conditions[:if]
33
+ evaluate_if(cond, target, inf)
34
+ elsif cond = conditions[:unless]
35
+ !evaluate_if(cond, target, inf)
36
+ elsif cond = conditions[:only]
37
+ evaluate_only(cond, inf)
38
+ elsif cond = conditions[:except]
39
+ !evaluate_only(cond, inf)
40
+ else
41
+ true
42
+ end
43
+ end
44
+
45
+ def add_to_chain target, inf, &the_next
46
+ if run? target, inf
47
+ build_block target, &the_next
48
+ else
49
+ the_next
50
+ end
51
+ end
52
+
53
+ alias_method :deep_clone, :clone
54
+
55
+ protected
56
+ def evaluate_if cond, target, inf
57
+ if cond.is_a? String
58
+ target.send cond
59
+ elsif cond.is_a? Proc
60
+ cond.call target, inf
61
+ else
62
+ must_be.never_called
63
+ end
64
+ end
65
+
66
+ def evaluate_only cond, inf
67
+ method = inf[:method].to_s
68
+ if cond.is_a? String
69
+ cond == method
70
+ elsif cond.is_a? Array
71
+ cond.include? method
72
+ end
73
+ end
74
+ end
75
+
76
+ class BeforeCallback < AbstractCallback
77
+ def build_block target, &the_next
78
+ lambda do
79
+ result = if executor.string_or_symbol?
80
+ target.send executor
81
+ elsif executor.is_a? Proc
82
+ executor.call target
83
+ else
84
+ must_be.never_called
85
+ end
86
+
87
+ the_next.call unless terminate? target, result
88
+ end
89
+ end
90
+ end
91
+
92
+ class AroundCallback < AbstractCallback
93
+ def build_block target, &the_next
94
+ lambda do
95
+ if executor.string_or_symbol?
96
+ target.send executor, &the_next
97
+ elsif executor.is_a? Proc
98
+ executor.call target, the_next
99
+ else
100
+ must_be.never_called
101
+ end
102
+ end
103
+ end
104
+ end
105
+
106
+ class AfterCallback < AbstractCallback
107
+ def build_block target, &the_next
108
+ lambda do
109
+ result = if executor.string_or_symbol?
110
+ target.send executor
111
+ elsif executor.is_a? Proc
112
+ executor.call target
113
+ else
114
+ must_be.never_called
115
+ end
116
+
117
+ the_next.call unless terminate? target, result
118
+ end
119
+ end
120
+ end
121
+
122
+ def run_callbacks callback_name, additional_information = {}, &block
123
+ callback_name = callback_name.to_s
124
+ block.must_be.defined
125
+
126
+ callbacks = self.class.callbacks[callback_name]
127
+ chain_head = block
128
+ if callbacks and !callbacks.empty?
129
+ callbacks.reverse_each do |callback|
130
+ block = callback.add_to_chain self, additional_information, &chain_head
131
+ chain_head = block if block
132
+ end
133
+ end
134
+ chain_head.call
135
+ end
136
+
137
+ module ClassMethods
138
+ inheritable_accessor :callbacks, {}
139
+
140
+ def set_callback callback_name, type, *executor_or_options, &block
141
+ # parsing arguments
142
+ type, callback_name = type.to_s, callback_name.to_s
143
+ opt = executor_or_options.extract_options!
144
+ "You can't provide both method name and block for filter!" if block and !executor_or_options.empty?
145
+ executor = block || executor_or_options.first
146
+
147
+ type.must_be.in %w{before around after}
148
+ executor.must_be.defined
149
+
150
+ # creating callback
151
+ callback = case type
152
+ when 'before' then BeforeCallback.new
153
+ when 'around' then AroundCallback.new
154
+ when 'after' then AfterCallback.new
155
+ end
156
+
157
+ callback.executor = executor
158
+ callback.terminator = opt.delete :terminator
159
+ callback.conditions = opt
160
+
161
+ callbacks[callback_name] ||= []
162
+ callbacks[callback_name] << callback
163
+ end
164
+
165
+ end
166
+ end
@@ -0,0 +1,9 @@
1
+ require 'class_loader'
2
+
3
+ # watching and reloading files only in production
4
+ rad.after :environment do
5
+ ClassLoader.stop_watching! unless rad.development?
6
+ end
7
+
8
+ lib_path = File.expand_path "#{__FILE__}/../../.."
9
+ autoload_dir lib_path, false
@@ -0,0 +1,3 @@
1
+ Encoding.default_external = Encoding::UTF_8
2
+ Encoding.default_internal = Encoding::UTF_8
3
+ warn " default source encoding is not UTF-8, something wroing is going on!" if __ENCODING__ != Encoding::UTF_8
@@ -0,0 +1,45 @@
1
+ Exception.metaclass_eval do
2
+ attr_accessor :filters
3
+ end
4
+
5
+ Exception.filters = []
6
+ Exception.filters = %w(
7
+ /gems/haml
8
+ /gems/tilt
9
+ /gems/facets
10
+ /gems/rack
11
+ /gems/mongrel
12
+ /gems/rspec
13
+ /gems/thin
14
+
15
+ /timeout.rb
16
+ /bin/spec
17
+
18
+ lib/fake_gem
19
+ rubygems/custom_require
20
+
21
+ /rad/template
22
+ /rad/template
23
+
24
+ /face/view_builder
25
+ /face/view_helper
26
+
27
+ /rad/_support
28
+
29
+ /monitor
30
+ /synchronize
31
+ /class_loader
32
+ /micon
33
+
34
+ internal:lib/
35
+ )
36
+
37
+ # Uncomment this line to disable filtering
38
+ # Exception.filters = []
39
+
40
+ Exception.class_eval do
41
+ alias_method :set_backtrace_without_filter, :set_backtrace
42
+ def set_backtrace array
43
+ set_backtrace_without_filter array.sfilter(::Exception.filters)
44
+ end
45
+ end