rad_core 0.2.6 → 0.2.7

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 (167) hide show
  1. data/Rakefile +2 -2
  2. data/bin/rad +20 -25
  3. data/lib/components/config.rb +1 -1
  4. data/lib/components/configurators.rb +2 -2
  5. data/lib/components/controller.rb +2 -2
  6. data/lib/components/conveyors.rb +2 -2
  7. data/lib/components/environment.rb +1 -1
  8. data/lib/components/environment.yml +28 -28
  9. data/lib/components/flash.rb +1 -1
  10. data/lib/components/html.rb +1 -1
  11. data/lib/components/http.rb +1 -1
  12. data/lib/components/http.yml +1 -1
  13. data/lib/components/logger.rb +2 -2
  14. data/lib/components/mailer.rb +2 -2
  15. data/lib/components/remote.rb +1 -1
  16. data/lib/components/router.rb +3 -3
  17. data/lib/components/template.rb +2 -2
  18. data/lib/components/web.rb +3 -3
  19. data/lib/rad.rb +1 -1
  20. data/lib/rad/_support/active_support.rb +7 -7
  21. data/lib/rad/_support/active_support/locales/ru/actionview.yml +8 -8
  22. data/lib/rad/_support/active_support/locales/ru/activesupport.yml +4 -4
  23. data/lib/rad/_support/active_support/locales/ru/datetime.yml +5 -5
  24. data/lib/rad/_support/active_support/time.rb +2 -2
  25. data/lib/rad/_support/addressable.rb +6 -6
  26. data/lib/rad/_support/class_loader.rb +1 -1
  27. data/lib/rad/_support/extensions.rb +5 -5
  28. data/lib/rad/_support/filters.rb +13 -13
  29. data/lib/rad/_support/hacks_and_fixes.rb +5 -5
  30. data/lib/rad/_support/mime.rb +4 -4
  31. data/lib/rad/_support/module.rb +11 -11
  32. data/lib/rad/_support/require.rb +5 -5
  33. data/lib/rad/_support/rson.rb +4 -4
  34. data/lib/rad/_support/string.rb +9 -9
  35. data/lib/rad/cli/helper.rb +5 -5
  36. data/lib/rad/configurators/_require.rb +2 -2
  37. data/lib/rad/configurators/abstract.rb +5 -5
  38. data/lib/rad/configurators/web.rb +8 -8
  39. data/lib/rad/controller/_abstract.rb +15 -14
  40. data/lib/rad/controller/_abstract/miscellaneous.rb +5 -5
  41. data/lib/rad/controller/_abstract/render.rb +40 -40
  42. data/lib/rad/controller/_abstract/responder.rb +1 -1
  43. data/lib/rad/controller/_context.rb +1 -1
  44. data/lib/rad/controller/_http.rb +11 -11
  45. data/lib/rad/controller/_require.rb +6 -6
  46. data/lib/rad/controller/processors/controller_caller.rb +3 -3
  47. data/lib/rad/controller/processors/controller_error_handling.rb +14 -14
  48. data/lib/rad/controller/processors/controller_logger.rb +1 -1
  49. data/lib/rad/conveyors/_conveyor.rb +9 -9
  50. data/lib/rad/conveyors/_conveyors.rb +4 -4
  51. data/lib/rad/conveyors/_params.rb +5 -5
  52. data/lib/rad/conveyors/_processor.rb +2 -2
  53. data/lib/rad/conveyors/_workspace.rb +5 -5
  54. data/lib/rad/conveyors/processors/conveyor_logger.rb +3 -3
  55. data/lib/rad/environment/_config.rb +4 -4
  56. data/lib/rad/environment/_environment.rb +10 -10
  57. data/lib/rad/environment/_files_helper.rb +5 -5
  58. data/lib/rad/environment/_logger.rb +9 -9
  59. data/lib/rad/environment/_require.rb +4 -4
  60. data/lib/rad/gems.rb +14 -14
  61. data/lib/rad/html/_flash.rb +5 -5
  62. data/lib/rad/html/_helpers/basic_html_helper.rb +12 -12
  63. data/lib/rad/html/_helpers/form_helper.rb +19 -19
  64. data/lib/rad/html/_helpers/javascript_helper.rb +6 -6
  65. data/lib/rad/html/_helpers/model_helper.rb +17 -17
  66. data/lib/rad/html/_require.rb +1 -1
  67. data/lib/rad/html/processors/prepare_flash.rb +3 -3
  68. data/lib/rad/html/processors/scoped_params.rb +4 -4
  69. data/lib/rad/http/_http.rb +4 -4
  70. data/lib/rad/http/_http_adapter.rb +5 -5
  71. data/lib/rad/http/_request.rb +11 -11
  72. data/lib/rad/http/_require.rb +8 -8
  73. data/lib/rad/http/_response.rb +5 -5
  74. data/lib/rad/http/_support/rack/fixes.rb +3 -3
  75. data/lib/rad/http/_support/rack/rack_adapter.rb +5 -5
  76. data/lib/rad/http/processors/evaluate_format.rb +4 -4
  77. data/lib/rad/http/processors/http_logger.rb +3 -3
  78. data/lib/rad/http/processors/http_writer.rb +7 -7
  79. data/lib/rad/http/processors/prepare_params.rb +5 -5
  80. data/lib/rad/mailer/_letter.rb +1 -1
  81. data/lib/rad/mailer/_mailer.rb +1 -1
  82. data/lib/rad/mailer/_mailer_controller.rb +6 -6
  83. data/lib/rad/mailer/_require.rb +1 -1
  84. data/lib/rad/mailer/processors/letter_builder.rb +6 -6
  85. data/lib/rad/profiles/mailer.rb +2 -2
  86. data/lib/rad/profiles/web.rb +13 -13
  87. data/lib/rad/remote/processors/remote_caller.rb +10 -10
  88. data/lib/rad/remote/processors/remote_logger.rb +1 -1
  89. data/lib/rad/router/_abstract_router.rb +9 -9
  90. data/lib/rad/router/_alias_router.rb +34 -34
  91. data/lib/rad/router/_basic_router.rb +12 -12
  92. data/lib/rad/router/_configurator.rb +6 -6
  93. data/lib/rad/router/_core_routing_helper.rb +4 -4
  94. data/lib/rad/router/_object_router.rb +45 -45
  95. data/lib/rad/router/_require.rb +8 -8
  96. data/lib/rad/router/_restful_router.rb +25 -25
  97. data/lib/rad/router/_router.rb +78 -78
  98. data/lib/rad/router/_simple_router.rb +5 -5
  99. data/lib/rad/router/processors/router.rb +6 -6
  100. data/lib/rad/spec/controller.rb +9 -9
  101. data/lib/rad/spec/environment.rb +7 -7
  102. data/lib/rad/spec/http.rb +2 -2
  103. data/lib/rad/spec/http_controller.rb +22 -22
  104. data/lib/rad/spec/mailer.rb +4 -4
  105. data/lib/rad/spec/remote.rb +1 -1
  106. data/lib/rad/spec/router.rb +4 -4
  107. data/lib/rad/spec/template.rb +2 -2
  108. data/lib/rad/tasks.rb +2 -2
  109. data/lib/rad/template/_context.rb +15 -15
  110. data/lib/rad/template/_relative_path_resolver.rb +1 -1
  111. data/lib/rad/template/_support/tilt.rb +17 -17
  112. data/lib/rad/template/_support/tilt_fixes.rb +3 -3
  113. data/lib/rad/template/_template.rb +47 -47
  114. data/lib/rad/web/_ajax_helper.rb +4 -4
  115. data/lib/rad/web/_controller_miscellaneous_helper.rb +5 -5
  116. data/lib/rad/web/_ensure_no_www.rb +5 -5
  117. data/lib/rad/web/_protect_from_forgery.rb +18 -18
  118. data/lib/rad/web/_require.rb +7 -7
  119. data/lib/rad/web/_router/abstract_routing_helper.rb +4 -4
  120. data/lib/rad/web/_router/controller_routing_helper.rb +15 -15
  121. data/lib/rad/web/_router/view_routing_helper.rb +12 -12
  122. data/readme.md +5 -5
  123. data/spec/controller/abstract_spec.rb +29 -29
  124. data/spec/controller/context_spec.rb +32 -32
  125. data/spec/controller/error_handling_spec.rb +31 -31
  126. data/spec/controller/helper_spec.rb +13 -13
  127. data/spec/controller/http_spec.rb +32 -32
  128. data/spec/controller/render_spec.rb +59 -59
  129. data/spec/conveyors/conveyors_spec.rb +32 -32
  130. data/spec/environment/config_spec.rb +6 -6
  131. data/spec/environment/environment_spec.rb +7 -7
  132. data/spec/environment/minimal_app_spec.rb +4 -4
  133. data/spec/environment/standard_app_spec.rb +10 -10
  134. data/spec/html/basic_html_helper_spec.rb +6 -6
  135. data/spec/html/form_helper_spec.rb +5 -5
  136. data/spec/html/javascript_helper_spec.rb +4 -4
  137. data/spec/html/model_helper_spec.rb +12 -12
  138. data/spec/html/scoped_params_spec.rb +2 -2
  139. data/spec/html/spec_helper.rb +3 -3
  140. data/spec/http/http_spec.rb +9 -9
  141. data/spec/http/miscellaneous_spec.rb +2 -2
  142. data/spec/mailer/mail_controller_spec.rb +23 -23
  143. data/spec/remote/remote_spec.rb +26 -26
  144. data/spec/router/alias_router_spec.rb +22 -22
  145. data/spec/router/basic_router_spec.rb +8 -8
  146. data/spec/router/configurator_spec.rb +4 -4
  147. data/spec/router/integration_spec.rb +17 -17
  148. data/spec/router/object_router_spec.rb +47 -47
  149. data/spec/router/persistent_params_spec.rb +18 -18
  150. data/spec/router/restful_router_spec.rb +39 -39
  151. data/spec/router/router_spec.rb +37 -37
  152. data/spec/router/routing_helper_spec.rb +18 -18
  153. data/spec/support/filters_spec.rb +11 -13
  154. data/spec/template/template_spec.rb +43 -45
  155. data/spec/template/template_spec/views/layout/content_for/content.erb +3 -1
  156. data/spec/template/template_spec/views/layout/content_for/layout.erb +1 -1
  157. data/spec/template/tilt_spec.rb +24 -24
  158. data/spec/web/basic_spec.rb +25 -25
  159. data/spec/web/controller_routing_helper_spec.rb +26 -26
  160. data/spec/web/flash_spec.rb +31 -31
  161. data/spec/web/protect_from_forgery_spec.rb +44 -44
  162. data/spec/web/spec_helper_spec.rb +16 -16
  163. data/spec/web/view_routing_helper_spec.rb +31 -31
  164. metadata +46 -49
  165. data/lib/rad/_support/callbacks.rb +0 -166
  166. data/lib/rad/_support/ruby_ext_with_active_support.rb +0 -4
  167. data/spec/support/callbacks_spec.rb +0 -157
@@ -4,7 +4,7 @@ describe "Persistent Params" do
4
4
  after :all do
5
5
  remove_constants %w(PathParamsRouter)
6
6
  end
7
-
7
+
8
8
  before do
9
9
  @router = Rad::Router.new :class
10
10
 
@@ -13,53 +13,53 @@ describe "Persistent Params" do
13
13
 
14
14
  @router.persistent_params << :l
15
15
  end
16
-
17
- describe 'Basics' do
18
- it "global persistent params" do
16
+
17
+ describe 'Basics' do
18
+ it "global persistent params" do
19
19
  @params.merge! l: 'ru', id: 1
20
20
 
21
21
  @router.encode(Object, :send).should == ["/object/send", {l: 'ru'}]
22
22
  @router.encode(Object, :send, l: 'en').should == ["/object/send", {l: 'en'}]
23
23
  end
24
-
24
+
25
25
  it "should persist params with begining underscore" do
26
26
  @params.merge! _space: 'space_id', id: 1
27
-
27
+
28
28
  @router.encode(Object, :send).should == ['/object/send', {}]
29
-
29
+
30
30
  @router.persist_params do
31
31
  @router.encode(Object, :send).should == ["/object/send", {_space: 'space_id'}]
32
32
  @router.encode(Object, :send, _space: 'another_id').should == ["/object/send", {_space: 'another_id'}]
33
33
  end
34
34
  end
35
35
  end
36
-
36
+
37
37
  describe "Miscellaneous checks" do
38
38
  it "should not persist special params" do
39
39
  @params.merge! _method: 'get'
40
-
41
- @router.persist_params do
40
+
41
+ @router.persist_params do
42
42
  @router.encode(Object, :send).should == ["/object/send", {}]
43
43
  end
44
- end
44
+ end
45
45
  end
46
-
46
+
47
47
  it "should correctly works when params are encoded in url path" do
48
48
  class PathParamsRouter
49
49
  def encode klass, method, params
50
50
  [%(#{klass.name}/#{method}#{'/' unless params.empty?}#{params.to_a.collect{|k, v| "#{k}/#{v}"}.join('/')}), {}]
51
51
  end
52
-
52
+
53
53
  def decode path, params
54
54
  end
55
55
  end
56
-
56
+
57
57
  router = Rad::Router.new :class, [[:prefix_router, PathParamsRouter.new]]
58
- router.persistent_params << :l
58
+ router.persistent_params << :l
59
59
  params = Rad::Conveyors::Params.new
60
- params.l = 'en'
61
- router.stub(:safe_workspace).and_return({params: params}.to_openobject)
62
-
60
+ params.l = 'en'
61
+ router.stub(:safe_workspace).and_return({params: params}.to_openobject)
62
+
63
63
  router.encode(Object, :send).should == ["Object/send/l/en", {}]
64
64
  end
65
65
  end
@@ -1,128 +1,128 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "RestfulRouter" do
3
+ describe "RestfulRouter" do
4
4
  before :all do
5
5
  class ::BlogController
6
6
  def show; end
7
- end
7
+ end
8
8
  end
9
-
9
+
10
10
  after :all do
11
11
  remove_constants %w(BlogController)
12
12
  end
13
-
13
+
14
14
  before do
15
15
  @router = Rad::Router::RestfulRouter.new
16
16
  end
17
-
18
- describe 'core API' do
17
+
18
+ describe 'core API' do
19
19
  it "class resource" do
20
20
  @router.add :blogs, class_name: 'BlogController'
21
-
21
+
22
22
  @router.encode(BlogController, :show, {}).should == ["/blogs/show", {}]
23
23
  @router.encode_method('show_blog_path', false).should == [BlogController, :show]
24
24
  @router.encode_method('show_blogs_path', false).should == [BlogController, :show]
25
25
  @router.decode("/blogs/show", {}).should == [BlogController, :show, {}]
26
26
  end
27
-
27
+
28
28
  it "object resource" do
29
29
  @router.add :blogs, class_name: 'BlogController'
30
-
30
+
31
31
  @router.encode(BlogController, :show, id: '10', view: 'full').should == ["/blogs/10/show", {view: 'full'}]
32
32
  @router.encode_method('show_blog_path', true).should == [BlogController, :show]
33
33
  @router.encode_method('show_blogs_path', true).should == [BlogController, :show]
34
34
  @router.decode("/blogs/10/show", {view: 'full'}).should == [BlogController, :show, {id: '10', view: 'full'}]
35
- end
35
+ end
36
36
  end
37
-
37
+
38
38
  describe "prefixes" do
39
39
  it "class resource" do
40
40
  @router.add :blogs, class_name: 'BlogController', prefix: [:l, :space]
41
-
41
+
42
42
  @router.encode(BlogController, :show, l: 'en', space: 'personal').should == ["/en/personal/blogs/show", {}]
43
43
  @router.decode("/en/personal/blogs/show", {}).should == [BlogController, :show, {l: 'en', space: 'personal'}]
44
44
  end
45
-
45
+
46
46
  it "object resource" do
47
47
  @router.add :blogs, class_name: 'BlogController', prefix: [:l, :space]
48
-
48
+
49
49
  @router.encode(BlogController, :show, id: '10', l: 'en', space: 'personal').should == ["/en/personal/blogs/10/show", {}]
50
50
  @router.decode("/en/personal/blogs/10/show", {}).should == [BlogController, :show, {id: '10', l: 'en', space: 'personal'}]
51
51
  end
52
-
53
- it "should raise error or return nil if prefixes not provided" do
52
+
53
+ it "should raise error or return nil if prefixes not provided" do
54
54
  @router.add :blogs, class_name: 'BlogController', prefix: :l
55
-
56
- lambda{@router.encode(BlogController, :show, {})}.should raise_error(/prefix/)
55
+
56
+ lambda{@router.encode(BlogController, :show, {})}.should raise_error(/prefix/)
57
57
  @router.decode('/blogs/show', {}).should be_nil
58
-
59
- lambda{@router.encode(BlogController, :show, id: '10')}.should raise_error(/prefix/)
58
+
59
+ lambda{@router.encode(BlogController, :show, id: '10')}.should raise_error(/prefix/)
60
60
  @router.decode('/blogs/10/show', {}).should be_nil
61
61
  end
62
-
62
+
63
63
  it "should works with :url_root" do
64
64
  @router.add :blogs, class_name: 'BlogController', prefix: :l, url_root: '/users'
65
-
65
+
66
66
  @router.encode(BlogController, :show, l: 'en').should == ["/en/blogs/show", {url_root: '/users'}]
67
67
  @router.decode("/users/en/blogs/show", {}).should == [BlogController, :show, {l: 'en'}]
68
-
68
+
69
69
  @router.encode(BlogController, :show, id: '10', l: 'en').should == ["/en/blogs/10/show", {url_root: '/users'}]
70
70
  @router.decode("/users/en/blogs/10/show", {}).should == [BlogController, :show, {id: '10', l: 'en'}]
71
71
  end
72
-
72
+
73
73
  it "should be able to use alias for prefix parameter" do
74
74
  @router.add :blogs, class_name: 'BlogController', prefix: [:l, :space_id]
75
-
75
+
76
76
  @router.encode(BlogController, :show, l: 'en', space_id: 'personal').should == ["/en/personal/blogs/show", {}]
77
77
  @router.decode("/en/personal/blogs/show", {}).should == [BlogController, :show, {l: 'en', space_id: 'personal'}]
78
78
  end
79
79
  end
80
-
81
- describe "miscellaneous check" do
82
- it "should allow only plural form in resource definition" do
80
+
81
+ describe "miscellaneous check" do
82
+ it "should allow only plural form in resource definition" do
83
83
  lambda{@router.add :blog, class_name: 'BlogController'}.should raise_error(/plural/)
84
84
  @router.add :blogs, class_name: 'BlogController'
85
85
  end
86
-
86
+
87
87
  it "shouldn't allow slashes in resource name" do
88
88
  lambda{@router.add '/admin/blogs', class_name: 'BlogController'}.should raise_error(/\//)
89
89
  end
90
-
90
+
91
91
  it "should correctly works with unknown routes" do
92
92
  @router.encode(BlogController, :show, {}).should be_nil
93
93
  @router.encode_method('show_blog_path', false).should be_nil
94
94
  @router.encode_method('show_blogs_path', false).should be_nil
95
95
  @router.decode("/blogs/show", {}).should be_nil
96
-
96
+
97
97
  @router.encode(BlogController, :show, id: '10', view: 'full').should be_nil
98
98
  @router.encode_method('show_blog_path', true).should be_nil
99
99
  @router.encode_method('show_blogs_path', true).should be_nil
100
100
  @router.decode("/blogs/10/show", view: 'full').should be_nil
101
101
  end
102
102
  end
103
-
103
+
104
104
  describe ":url_root" do
105
105
  it "should use :url_root" do
106
106
  @router.add :blogs, class_name: 'BlogController', url_root: '/users'
107
-
107
+
108
108
  @router.encode(BlogController, :show, {}).should == ["/blogs/show", {url_root: '/users'}]
109
109
  @router.decode("/users/blogs/show", {}).should == [BlogController, :show, {}]
110
-
110
+
111
111
  @router.encode(BlogController, :show, id: '10').should == ["/blogs/10/show", {url_root: '/users'}]
112
112
  @router.decode("/users/blogs/10/show", {}).should == [BlogController, :show, {id: '10'}]
113
- end
114
-
113
+ end
114
+
115
115
  it "should ignore slash" do
116
116
  @router.add :blogs, class_name: 'BlogController', url_root: '/'
117
-
117
+
118
118
  @router.encode(BlogController, :show, {}).should == ["/blogs/show", {}]
119
119
  @router.decode("/blogs/show", {}).should == [BlogController, :show, {}]
120
120
  end
121
121
  end
122
-
122
+
123
123
  it "input validation" do
124
124
  lambda{@router.add :blogs, class_name: 'BlogController', invalid: 'value'}.should raise_error(/unknown/)
125
- lambda{@router.add :blogs}.should raise_error(/class/)
125
+ lambda{@router.add :blogs}.should raise_error(/class/)
126
126
  lambda{@router.add :blogs, class_name: 'BlogController', url_root: 'users'}.should raise_error(/\//)
127
127
  end
128
128
  end
@@ -1,111 +1,111 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Router Basic" do
4
- before :all do
3
+ describe "Router Basic" do
4
+ before :all do
5
5
  class ::BlogsController
6
6
  include Rad::Router::CoreRoutingHelper
7
-
7
+
8
8
  def show; end
9
9
  end
10
10
  end
11
-
11
+
12
12
  after :all do
13
13
  remove_constants %w(BlogsController)
14
14
  end
15
-
15
+
16
16
  before do
17
17
  @router = Rad::Router.new :class
18
-
18
+
19
19
  @params = Rad::Conveyors::Params.new
20
20
  @router.stub(:safe_workspace).and_return({params: @params}.to_openobject)
21
21
  end
22
-
22
+
23
23
  it "encode" do
24
24
  @router.encode(BlogsController, :show, format: 'json').should == ["/blogs_controller/show.json", {}]
25
25
  end
26
-
26
+
27
27
  it "encode_method" do
28
- lambda{@router.encode_method :some_method, false}.should raise_error(/route method/)
29
- first_router_in_chain = @router.routers.to_a[0][1]
28
+ lambda{@router.encode_method :some_method, false}.should raise_error(/route method/)
29
+ first_router_in_chain = @router.routers.to_a[0][1]
30
30
  first_router_in_chain.should_receive(:encode_method).and_return([BlogsController, :show])
31
31
  @router.encode_method(:some_method, false).should == [BlogsController, :show]
32
32
  end
33
-
34
- it "decode" do
33
+
34
+ it "decode" do
35
35
  @router.decode("/blogs_controller/show", {}).should == [BlogsController, :show, {}]
36
- end
37
-
36
+ end
37
+
38
38
  describe "url_for" do
39
39
  it "should convert complex params to json" do
40
40
  @router.url_for(BlogsController, :show, a: :b, as_json: true).should == %(/blogs_controller/show?json=%7B%22a%22%3A%22b%22%7D)
41
41
  end
42
-
42
+
43
43
  it "should works with full url" do
44
44
  @router.url_for('http://google.com').should == "http://google.com"
45
45
  end
46
-
46
+
47
47
  it "should not allow to use url_root/params/format with full url (http://)" do
48
- lambda{@router.url_for('http://google.com', {a: 'b'})}.should raise_error(/can't use option/)
48
+ lambda{@router.url_for('http://google.com', {a: 'b'})}.should raise_error(/can't use option/)
49
49
  end
50
-
50
+
51
51
  it "should escape params" do
52
52
  @router.url_for(BlogsController, :show, a: 'b/c').should == "/blogs_controller/show?a=b%2Fc"
53
53
  end
54
-
54
+
55
55
  it "url_for" do
56
56
  @router.stub(:current_class).and_return(BlogsController)
57
-
58
- @router.url_for(BlogsController, :show, format: 'json').should == "/blogs_controller/show.json"
57
+
58
+ @router.url_for(BlogsController, :show, format: 'json').should == "/blogs_controller/show.json"
59
59
  @router.url_for(:show, format: 'json').should == "/blogs_controller/show.json"
60
-
60
+
61
61
  @router.url_for(BlogsController, :show).should == "/blogs_controller/show"
62
62
  @router.url_for(:show).should == "/blogs_controller/show"
63
63
  @router.url_for(:show).should == "/blogs_controller/show"
64
64
  end
65
-
65
+
66
66
  it "url_for_path should recognize first slash as to use url_for_path" do
67
67
  @router.url_for('/some_path', key: :value).should == "/some_path?key=value"
68
68
  @router.url_for('/some_path').should == "/some_path"
69
69
  end
70
-
70
+
71
71
  it "should mark url string with format" do
72
- @router.stub(:current_class).and_return(BlogsController)
72
+ @router.stub(:current_class).and_return(BlogsController)
73
73
  @router.url_for(:show, format: 'js').marks.format.should == 'js'
74
-
74
+
75
75
  @router.url_for('/path').marks.format.should be_nil
76
76
  @router.url_for('/path', format: 'js').marks.format.should == 'js'
77
77
  end
78
-
78
+
79
79
  it "shouldn't modify arguments (from error)" do
80
80
  options = {format: :js}
81
81
  @router.url_for(BlogsController, :show, options).should == "/blogs_controller/show.js"
82
82
  options.should == {format: :js}
83
83
  end
84
-
84
+
85
85
  # it "should check for false :url_root (from error)" do
86
86
  # config.set! :url_root, '/bag'
87
- #
87
+ #
88
88
  # @router.url_for("/some_url", url_root: false).should == "/some_url"
89
- # end
89
+ # end
90
90
  end
91
-
91
+
92
92
  describe "persistent params" do
93
93
  before do
94
94
  @router.persistent_params << :l
95
95
  end
96
-
97
- it "global persistent params" do
96
+
97
+ it "global persistent params" do
98
98
  @params.l, @params.id = 'ru', 1
99
99
 
100
- @router.url_for(BlogsController, :show).should == "/blogs_controller/show?l=ru"
100
+ @router.url_for(BlogsController, :show).should == "/blogs_controller/show?l=ru"
101
101
  @router.url_for(BlogsController, :show, l: 'en').should == "/blogs_controller/show?l=en"
102
102
  end
103
-
103
+
104
104
  it "should persist params with begining underscore" do
105
105
  @params._space, @params.id = 'space_id', 1
106
-
106
+
107
107
  @router.url_for(BlogsController, :show).should == '/blogs_controller/show'
108
-
108
+
109
109
  @router.persist_params do
110
110
  @router.url_for(BlogsController, :show).should == '/blogs_controller/show?_space=space_id'
111
111
  @router.url_for(BlogsController, :show, _space: 'another_id').should == '/blogs_controller/show?_space=another_id'
@@ -1,54 +1,54 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Routing Helper" do
3
+ describe "Routing Helper" do
4
4
  before :all do
5
5
  class ::BlogsController
6
6
  include Rad::Router::CoreRoutingHelper
7
-
7
+
8
8
  def show; end
9
9
  end
10
10
  end
11
-
11
+
12
12
  after :all do
13
13
  remove_constants %w(BlogsController)
14
14
  end
15
-
15
+
16
16
  before do
17
17
  @router = Rad::Router.new :class
18
-
18
+
19
19
  @params = Rad::Conveyors::Params.new
20
20
  @router.stub(:safe_workspace).and_return({params: @params}.to_openobject)
21
-
21
+
22
22
  @controller = BlogsController.new
23
23
  @controller.stub(:router).and_return(@router)
24
24
  end
25
-
26
- it "basic" do
27
- @router.stub(:encode_method).and_return([BlogsController, :show])
25
+
26
+ it "basic" do
27
+ @router.stub(:encode_method).and_return([BlogsController, :show])
28
28
  @controller.show_blogs_path.should == "/blogs_controller/show"
29
29
  end
30
-
30
+
31
31
  it "correct works if there's no route" do
32
32
  lambda{@controller.undefined_path}.should raise_error(/no route for/)
33
- lambda{@controller.show_blogs}.should raise_error(/undefined method/)
33
+ lambda{@controller.show_blogs}.should raise_error(/undefined method/)
34
34
  end
35
-
35
+
36
36
  it "argument parsing" do
37
- @router.stub(:encode_method).and_return([BlogsController, :show])
38
-
37
+ @router.stub(:encode_method).and_return([BlogsController, :show])
38
+
39
39
  @controller.show_blogs_path.should == "/blogs_controller/show"
40
40
  @controller.show_blogs_path(a: 'b').should == "/blogs_controller/show?a=b"
41
- @controller.show_blogs_path(10, a: 'b').should == "/blogs_controller/show?a=b&id=10"
41
+ @controller.show_blogs_path(10, a: 'b').should == "/blogs_controller/show?a=b&id=10"
42
42
  end
43
-
44
- it "helper_method should take any object as :id" do
43
+
44
+ it "helper_method should take any object as :id" do
45
45
  class IdStub
46
46
  def to_param
47
47
  'some_id'
48
48
  end
49
49
  end
50
50
 
51
- @router.stub(:encode_method).and_return([BlogsController, :show])
51
+ @router.stub(:encode_method).and_return([BlogsController, :show])
52
52
  @controller.show_blogs_path(IdStub.new, a: 'b').should == "/blogs_controller/show?a=b&id=some_id"
53
53
  end
54
54
  end