rad_core 0.0.13 → 0.0.14

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 (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
@@ -1,61 +1,76 @@
1
+ require 'spec_helper'
1
2
  require 'html/spec_helper'
2
- require 'integration/spec_helper'
3
3
 
4
4
  describe "Flash" do
5
- with_environment environment: :development
5
+ with_prepare_params
6
6
 
7
- class MockFlashContext < Rad::MockTemplateContext
8
- include Rad::FlashHelper , Rad::ControllerRoutingHelper
7
+ isolate :conveyors, before: :all
8
+
9
+ before :all do
10
+ rad.mode = :development, true
11
+ rad.web
12
+ rad.reset :conveyors
9
13
 
10
- def url_for *args;
14
+ class MockFlashContext < Rad::MockTemplateContext
15
+ include Rad::Html::FlashHelper, Rad::ControllerRoutingHelper
16
+
17
+ def url_for *args;
18
+ end
11
19
  end
12
- end
13
-
14
- class FlashTestRenderCaller < Rad::Processor
15
- def call
16
- context = MockFlashContext.new
17
- block = workspace.check_flash.request
18
- catch :halt_render do
19
- block.call context if block
20
- end
21
- workspace.request_done = true
22
-
23
- next_processor.call
20
+
21
+ class FlashTestRenderCaller < Rad::Conveyors::Processor
22
+ def call
23
+ context = MockFlashContext.new
24
+ block = workspace.check_flash.request
25
+ catch :halt do
26
+ block.call context if block
27
+ end
28
+ workspace.request_done = true
29
+
30
+ next_processor.call
31
+ end
24
32
  end
25
- end
26
-
27
- class FlashTestHelper < Rad::Processor
28
- def call
29
- block = workspace.check_flash.before_request
30
- block.call workspace if block
31
- workspace.before_request_done = true
33
+
34
+ class FlashTestHelper < Rad::Conveyors::Processor
35
+ def call
36
+ block = workspace.check_flash.before_request
37
+ block.call workspace if block
38
+ workspace.before_request_done = true
39
+
40
+ next_processor.call
41
+
42
+ block = workspace.check_flash.after_request
43
+ block.call workspace if block
44
+ workspace.after_request_done = true
45
+ end
46
+ end
47
+
32
48
 
33
- next_processor.call
34
-
35
- block = workspace.check_flash.after_request
36
- block.call workspace if block
37
- workspace.after_request_done = true
49
+ rad.conveyors.web do |web|
50
+ web.use Rad::Http::Processors::PrepareParams
51
+ web.use FlashTestHelper
52
+ web.use Rad::Html::Processors::PrepareFlash
53
+ web.use FlashTestRenderCaller
38
54
  end
39
55
  end
56
+
57
+ after :all do
58
+ rad.mode = :test, true
40
59
 
41
- before :all do
42
- rad.after :environment do
43
- rad.conveyors.web do |web|
44
- web.use Rad::Processors::PrepareParams
45
- web.use FlashTestHelper
46
- web.use Rad::Processors::PrepareFlash
47
- web.use FlashTestRenderCaller
48
- end
49
- end
60
+ remove_constants %w(
61
+ MockFlashContext
62
+ FlashTestRenderCaller
63
+ FlashTestHelper
64
+ )
50
65
  end
51
66
 
52
67
  def check_flash opt
53
68
  workspace = nil
54
- result = Rad::HTTPAdapter.call(Rad::HTTPAdapter.mock_environment, check_flash: opt.to_openobject) do |c|
69
+ result = rad.http.call(rad.http.mock_environment, check_flash: opt.to_openobject) do |c|
55
70
  c.call
56
- workspace = rad[:workspace]
71
+ workspace = rad.workspace
57
72
  end
58
-
73
+
59
74
  workspace.before_request_done.should be_true
60
75
  workspace.request_done.should be_true
61
76
  workspace.after_request_done.should be_true
@@ -65,7 +80,7 @@ describe "Flash" do
65
80
  it "flash should be extracted from session if there's any" do
66
81
  check_flash(
67
82
  before_request: lambda{|workspace|
68
- workspace.params.format = 'html'
83
+ workspace.params.format = 'html'
69
84
  workspace.request.session['flash'] = {info: 'Ok'}.to_json
70
85
  },
71
86
  request: lambda{|context|
@@ -1,15 +1,16 @@
1
- require "controller/spec_helper"
1
+ require "spec_helper"
2
2
 
3
3
  describe "spec helper" do
4
- with_environment
5
- with_http
6
- with_router
4
+ isolate :router, :conveyors
7
5
 
8
- before :all do
6
+ before do
7
+ rad.web
8
+ rad.reset :conveyors
9
+
9
10
  load 'rad/profiles/web.rb'
10
11
 
11
12
  class ::Planes
12
- inherit Rad::HttpController
13
+ inherit Rad::Controller::Http
13
14
 
14
15
  def fly
15
16
  render inline: 'all right'
@@ -20,7 +21,7 @@ describe "spec helper" do
20
21
  after :all do
21
22
  remove_constants :Planes
22
23
  end
23
-
24
+
24
25
  describe 'wcall' do
25
26
  it "basic usage" do
26
27
  wcall(Planes, :fly).should =~ /all right/
@@ -45,10 +46,10 @@ describe "spec helper" do
45
46
  end
46
47
 
47
48
  describe "routes" do
48
- before :each do
49
+ before do
49
50
  router = rad[:router]
50
- router.routes.unshift :restful_router, Rad::RestfulRouter.new
51
- router.routes[:restful_router].add :planes, class: Planes
51
+ router.routers.unshift :restful_router, Rad::Router::RestfulRouter.new
52
+ router.routers[:restful_router].add :planes, class_name: 'Planes'
52
53
  end
53
54
 
54
55
  it "url_for, url_for_path" do
@@ -1,8 +1,13 @@
1
+ require 'spec_helper'
1
2
  require 'html/spec_helper'
2
- require 'integration/spec_helper'
3
3
 
4
- describe "UrlHelper" do
4
+ describe "UrlHelper" do
5
+ isolate :conveyors
6
+
5
7
  before :all do
8
+ rad.web
9
+ rad.reset :conveyors
10
+
6
11
  class MockRouter < Rad::Router
7
12
  def url_for_path path, params
8
13
  path = if params.blank?
@@ -45,71 +50,74 @@ describe "UrlHelper" do
45
50
  remove_constants :MOCK_ROUTER, :MockRouter, :MockUrlHelperContext
46
51
  end
47
52
 
48
- before :each do
53
+ before do
49
54
  @t = MockUrlHelperContext.new
50
55
  end
51
56
 
52
- describe "link_to" do
53
- before :all do
54
- rad[:config] = Rad::Config.new
55
- end
56
-
57
- after :all do
58
- rad.clear
59
- end
60
-
57
+ describe "link_to" do
61
58
  it "should works with url_for attributes" do
62
- @t.link_to('Book', Object, :method, {format: 'json'}, class: 'highlight').to_xhtml('a').
63
- should_be_fuzzy_equal_to(class: "highlight", href: "url_for: Object.method?format=json", content: "Book")
59
+ @t.link_to('Book', Object, :method, {format: 'html'}, class: 'highlight').to_xhtml('a').
60
+ should_be_fuzzy_equal_to(class: "highlight", href: "url_for: Object.method?format=html", content: 'Book')
64
61
 
65
- @t.link_to(Object, :method, {format: 'json'}, class: 'highlight'){'Book'}.to_xhtml('a').
66
- should_be_fuzzy_equal_to(class: "highlight", href: "url_for: Object.method?format=json", content: "Book")
62
+ @t.link_to(Object, :method, {format: 'html'}, class: 'highlight'){'Book'}.to_xhtml('a').
63
+ should_be_fuzzy_equal_to(class: "highlight", href: "url_for: Object.method?format=html", content: 'Book')
67
64
 
68
65
  @t.link_to('Book', :method).to_xhtml('a').
69
- should_be_fuzzy_equal_to(href: "url_for: .method", content: "Book")
66
+ should_be_fuzzy_equal_to(href: "url_for: .method", content: 'Book')
70
67
  end
71
68
 
72
69
  it "should works with url_for_path attributes" do
73
70
  @t.link_to('Book', '/some_book', class: 'highlight').to_xhtml('a').
74
- should_be_fuzzy_equal_to(class: "highlight", href: "/some_book", content: "Book")
71
+ should_be_fuzzy_equal_to(class: "highlight", href: "/some_book", content: 'Book')
75
72
 
76
73
  @t.link_to('/some_book', class: 'highlight'){'Book'}.to_xhtml('a').
77
- should_be_fuzzy_equal_to(class: "highlight", href: "/some_book", content: "Book")
74
+ should_be_fuzzy_equal_to(class: "highlight", href: "/some_book", content: 'Book')
78
75
 
79
76
  @t.link_to('/some_book'){'Book'}.to_xhtml('a').
80
- should_be_fuzzy_equal_to(href: "/some_book", content: "Book")
77
+ should_be_fuzzy_equal_to(href: "/some_book", content: 'Book')
81
78
  end
82
79
 
83
80
  it "links for 'js', 'json' formats should be automatically became remote" do
84
81
  @t.link_to('Book', @t.url_for('/some_book', format: 'json')).to_xhtml('a').should_be_fuzzy_equal_to(
85
- href: "url_for: /some_book?format=json", content: "Book",
86
- onclick: "$(this).link_to({method: 'get', ajax: true}); return false;"
82
+ href: '#', content: 'Book',
83
+ 'data-action' => 'url_for: /some_book?format=json', 'data-method' => 'post', 'data-remote' => 'true'
84
+ )
85
+
86
+ @t.link_to('Book', :method, format: 'js').to_xhtml('a').should_be_fuzzy_equal_to(
87
+ href: '#', content: 'Book',
88
+ 'data-action' => 'url_for: .method?format=js', 'data-method' => 'post', 'data-remote' => 'true'
87
89
  )
88
90
 
89
91
  @t.link_to('Book', :method, {format: 'js'}, class: 'highlight').to_xhtml('a').should_be_fuzzy_equal_to(
90
- href: "url_for: .method?format=js", content: "Book", class: 'highlight',
91
- onclick: "$(this).link_to({method: 'get', ajax: true}); return false;"
92
+ href: '#', content: 'Book', class: 'highlight',
93
+ 'data-action' => 'url_for: .method?format=js', 'data-method' => 'post', 'data-remote' => 'true'
92
94
  )
93
95
  end
94
96
 
95
97
  it "confirm" do
96
- @t.link_to('Book', '/some_book', confirm: 'Are you shure?').to_xhtml('a').should_be_fuzzy_equal_to(
97
- href: "/some_book", content: "Book",
98
- onclick: "return confirm('Are you shure?');"
98
+ attrs = @t.link_to('Book', '/some_book', confirm: 'Are you shure?').to_xhtml('a')
99
+ attrs.should_not include('data-remote')
100
+ attrs.should_not include('data-action')
101
+ attrs.should_not include('data-method')
102
+ attrs.should_be_fuzzy_equal_to(
103
+ href: "/some_book", content: 'Book',
104
+ 'data-confirm' => "Are you shure?"
99
105
  )
100
106
  end
101
107
 
102
108
  it "POST method" do
103
- @t.link_to('Book', '/some_book', method: :post).to_xhtml('a').should_be_fuzzy_equal_to(
104
- href: "/some_book", content: "Book",
105
- onclick: "$(this).link_to({method: 'post'}); return false;"
106
- )
109
+ attrs = @t.link_to('Book', '/some_book', method: :post).to_xhtml('a')
110
+ attrs.should_not include('data-remote')
111
+ attrs.should_be_fuzzy_equal_to(
112
+ href: "#", content: 'Book',
113
+ 'data-action' => '/some_book', 'data-method' => 'post'
114
+ )
107
115
  end
108
116
 
109
117
  it "remote" do
110
118
  @t.link_to('Book', '/some_book', remote: true).to_xhtml('a').should_be_fuzzy_equal_to(
111
- href: "/some_book", content: "Book",
112
- onclick: "$(this).link_to({method: 'get', ajax: true}); return false;"
119
+ href: "#", content: 'Book',
120
+ 'data-action' => '/some_book', 'data-method' => 'post', 'data-remote' => 'true'
113
121
  )
114
122
  end
115
123
 
@@ -122,13 +130,13 @@ describe "UrlHelper" do
122
130
  workspace.stub(:request).and_return(request)
123
131
  @t.stub(:workspace).and_return(workspace)
124
132
 
125
- @t.link_to('Book', :back).to_xhtml('a').should_be_fuzzy_equal_to(href: "/go_back", content: "Book")
133
+ @t.link_to('Book', :back).to_xhtml('a').should_be_fuzzy_equal_to(href: "/go_back", content: 'Book')
126
134
  @t.link_to('Book', :back, class: '_some_js_mark').to_xhtml('a').
127
- should_be_fuzzy_equal_to(href: "/go_back", class: '_some_js_mark', content: "Book")
135
+ should_be_fuzzy_equal_to(href: "/go_back", class: '_some_js_mark', content: 'Book')
128
136
  end
129
137
 
130
138
  it "#" do
131
- @t.link_to('Book', '#').to_xhtml('a').should_be_fuzzy_equal_to(href: "#", content: "Book")
139
+ @t.link_to('Book', '#').to_xhtml('a').should_be_fuzzy_equal_to(href: "#", content: 'Book')
132
140
  end
133
141
  end
134
142
  end