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
@@ -2,8 +2,8 @@ require "spec_helper"
2
2
 
3
3
  describe "Controller render" do
4
4
  with_view_path "#{spec_dir}/views"
5
- with_abstract_controller
6
-
5
+ with_abstract_controller
6
+
7
7
  after :all do
8
8
  remove_constants %w(
9
9
  LayoutFiltersSpec
@@ -16,91 +16,91 @@ describe "Controller render" do
16
16
  AlreadyRenderedSpec
17
17
  SpecialFormatSpec
18
18
  AnotherActionSpec
19
- InlineRenderSpec
19
+ InlineRenderSpec
20
20
  InlineWithLayoutSpec
21
21
  MultipleActions
22
22
  RelativeSpec
23
23
  )
24
24
  end
25
-
26
- describe 'layout' do
25
+
26
+ describe 'layout' do
27
27
  it "should use :except and :only in layout" do
28
28
  class ::LayoutFiltersSpec
29
29
  inherit Rad::Controller::Abstract
30
30
  layout '/layouts/app', only: :action_with_layout
31
-
31
+
32
32
  def action_with_layout; end
33
33
  def action_without_layout; end
34
34
  end
35
-
36
- ccall(LayoutFiltersSpec, :action_with_layout, format: 'html').should == "Layout html, content"
35
+
36
+ ccall(LayoutFiltersSpec, :action_with_layout, format: 'html').should == "Layout html, content"
37
37
  ccall(LayoutFiltersSpec, :action_without_layout).should == "content"
38
38
  end
39
-
39
+
40
40
  it "should apply formats to layout" do
41
41
  class LayoutSpec
42
42
  inherit Rad::Controller::Abstract
43
43
  layout '/layouts/app'
44
-
45
- def action; end
44
+
45
+ def action; end
46
46
  end
47
-
48
- ccall(LayoutSpec, :action, format: 'html').should == "Layout html, content"
47
+
48
+ ccall(LayoutSpec, :action, format: 'html').should == "Layout html, content"
49
49
  ccall(LayoutSpec, :action, format: 'js').should == "Layout js, content"
50
- end
51
-
50
+ end
51
+
52
52
  it "should take layout: false or layout: '/another_layout'" do
53
53
  class AnotherLayout
54
54
  inherit Rad::Controller::Abstract
55
55
  layout '/layout/app'
56
-
56
+
57
57
  def action; end
58
-
58
+
59
59
  def without_layout
60
60
  render action: :action, layout: false
61
61
  end
62
-
62
+
63
63
  def another_layout
64
64
  render action: :action, layout: '/layouts/admin'
65
- end
65
+ end
66
66
  end
67
-
67
+
68
68
  ccall(AnotherLayout, :without_layout).should == "action"
69
69
  ccall(AnotherLayout, :another_layout).should == "Admin layout, action"
70
70
  end
71
-
72
-
71
+
72
+
73
73
  it "should take into account :layout when rendering template" do
74
74
  class ::ExplicitRenderSpec
75
75
  inherit Rad::Controller::Abstract
76
76
  layout '/layouts/app'
77
-
77
+
78
78
  def with_layout
79
79
  render '/some_template'
80
80
  end
81
-
81
+
82
82
  def without_layout
83
83
  render '/some_template', layout: false
84
84
  end
85
85
  end
86
-
86
+
87
87
  ccall(ExplicitRenderSpec, :with_layout, format: 'html').should == "Layout html, some template"
88
88
  ccall(ExplicitRenderSpec, :without_layout, format: 'html').should == "some template"
89
- end
89
+ end
90
90
  end
91
-
91
+
92
92
  it "should render template inside of controller" do
93
93
  class ::RenderInsideOfControllerSpec
94
94
  inherit Rad::Controller::Abstract
95
95
 
96
96
  def some_action
97
97
  render '/some_template'
98
- end
98
+ end
99
99
  end
100
100
 
101
- ccall(RenderInsideOfControllerSpec, 'some_action').should == "some template"
101
+ ccall(RenderInsideOfControllerSpec, :some_action).should == "some template"
102
102
  end
103
-
103
+
104
104
  it "should not allow to render partials as actions" do
105
105
  class ::ForbidPartialAsActionSpec
106
106
  inherit Rad::Controller::Abstract
@@ -109,21 +109,21 @@ describe "Controller render" do
109
109
 
110
110
  ccall(ForbidPartialAsActionSpec, :action).should == ''
111
111
  end
112
-
112
+
113
113
  it "should render view with right format" do
114
114
  class FormatSpec
115
115
  inherit Rad::Controller::Abstract
116
116
  def action; end
117
117
  end
118
118
 
119
- ccall(FormatSpec, :action, format: 'html').should == "html format"
119
+ ccall(FormatSpec, :action, format: 'html').should == "html format"
120
120
  ccall(FormatSpec, :action, format: 'js').should == "js format"
121
121
  end
122
-
122
+
123
123
  it "should be able to use rad.template.render for different purposes (mail for example)" do
124
124
  rad.template.render("/standalone", locals: {a: 'a'}).should == 'standalone usage, a'
125
125
  end
126
-
126
+
127
127
  it "should not rener if already rendered in controller" do
128
128
  class ::AlreadyRenderedSpec
129
129
  inherit Rad::Controller::Abstract
@@ -135,93 +135,93 @@ describe "Controller render" do
135
135
 
136
136
  ccall(AlreadyRenderedSpec, :action).should == 'custom content'
137
137
  end
138
-
138
+
139
139
  it "should handle serialization obj ('xml', 'json')" do
140
140
  class ::SpecialFormatSpec
141
141
  inherit Rad::Controller::Abstract
142
-
142
+
143
143
  def json_action
144
144
  render json: {a: "b"}
145
145
  end
146
-
146
+
147
147
  def xml_action
148
148
  render xml: {a: "b"}
149
149
  end
150
150
  end
151
-
152
- ccall(SpecialFormatSpec, :json_action, format: 'json').should == %({"a":"b"})
153
- ccall(SpecialFormatSpec, :xml_action, format: 'xml').should =~ /<a>b<\/a>/
151
+
152
+ ccall(SpecialFormatSpec, :json_action, format: 'json').should == %({"a":"b"})
153
+ ccall(SpecialFormatSpec, :xml_action, format: 'xml').should =~ /<a>b<\/a>/
154
154
  -> {
155
155
  ccall(SpecialFormatSpec, :json_action, format: 'xml')
156
156
  }.should raise_error(/responing with 'json' to the 'xml'/)
157
157
  end
158
-
158
+
159
159
  it "should render another action via action: :action_name" do
160
160
  class ::AnotherActionSpec
161
161
  inherit Rad::Controller::Abstract
162
-
162
+
163
163
  def another_action; end
164
-
165
- def action
164
+
165
+ def action
166
166
  render action: :another_action
167
167
  end
168
168
  end
169
-
169
+
170
170
  ccall(AnotherActionSpec, :action).should == "another action (action_name: another_action)"
171
171
  end
172
-
172
+
173
173
  it "should take :inline option" do
174
174
  class ::InlineRenderSpec
175
175
  inherit Rad::Controller::Abstract
176
-
176
+
177
177
  def action
178
178
  render inline: "content"
179
179
  end
180
180
  end
181
-
181
+
182
182
  ccall(InlineRenderSpec, :action).should == "content"
183
183
  end
184
-
184
+
185
185
  # it ":inline option should render without layout" do
186
186
  # class ::InlineWithLayoutSpec
187
187
  # inherit Rad::Controller::Abstract
188
- #
188
+ #
189
189
  # layout '/layouts/app'
190
- #
190
+ #
191
191
  # def action
192
192
  # render inline: "content"
193
193
  # end
194
194
  # end
195
- #
195
+ #
196
196
  # ccall(InlineWithLayoutSpec, :action).should == "content"
197
197
  # end
198
-
198
+
199
199
  it "should render correct action inside of special 'actions.xxx' template file" do
200
200
  class ::MultipleActions
201
201
  inherit Rad::Controller::Abstract
202
-
202
+
203
203
  def increase; end
204
204
  def decrease; end
205
205
  def action_without_template; end
206
206
  end
207
-
207
+
208
208
  ccall(MultipleActions, :increase).should == "plus\n"
209
209
  ccall(MultipleActions, :decrease).should == "minus\n"
210
210
  ccall(MultipleActions, :action_without_template).should == ''
211
211
  end
212
-
212
+
213
213
  it "relative templates should be searched as: CurrentClass -> SuperClass -> SameDir" do
214
214
  module ::RelativeSpec
215
215
  class A
216
216
  inherit Rad::Controller::Abstract
217
-
217
+
218
218
  def show; end
219
219
  end
220
-
220
+
221
221
  class B < A
222
222
  end
223
223
  end
224
-
224
+
225
225
  ccall(RelativeSpec::B, :show).should == 'form b'
226
226
  end
227
227
  end
@@ -2,12 +2,12 @@ require "spec_helper"
2
2
 
3
3
  describe "Conveyor" do
4
4
  inject conveyors: :conveyors
5
-
5
+
6
6
  def call_conveyor
7
7
  r = conveyors.web.call(result: [])
8
8
  r.result
9
9
  end
10
-
10
+
11
11
  after :all do
12
12
  remove_constants %w(
13
13
  SmokeTestASpec
@@ -21,65 +21,65 @@ describe "Conveyor" do
21
21
  ErrorBubblingBSpec
22
22
  )
23
23
  end
24
-
24
+
25
25
  isolate :conveyors
26
-
26
+
27
27
  before :all do
28
28
  rad.mode = :development, true
29
29
  end
30
-
30
+
31
31
  after :all do
32
32
  rad.mode = :test, true
33
33
  end
34
-
34
+
35
35
  it "smoke test" do
36
- class SmokeTestASpec < Rad::Conveyors::Processor
36
+ class SmokeTestASpec < Rad::Conveyors::Processor
37
37
  def call
38
- workspace.result << :a_before
38
+ workspace.result << :a_before
39
39
  next_processor.call
40
40
  workspace.result << :a_after
41
41
  end
42
42
  end
43
43
 
44
- class SmokeTestBSpec < Rad::Conveyors::Processor
45
- def call
46
- rad.workspace.result << :b_before
44
+ class SmokeTestBSpec < Rad::Conveyors::Processor
45
+ def call
46
+ rad.workspace.result << :b_before
47
47
  next_processor.call
48
48
  rad.workspace.result << :b_after
49
49
  end
50
50
  end
51
-
51
+
52
52
  conveyors.web.use SmokeTestASpec
53
53
  conveyors.web.use SmokeTestBSpec
54
54
  call_conveyor.should == [:a_before, :b_before, :b_after, :a_after]
55
55
  end
56
-
56
+
57
57
  describe "error handling" do
58
58
  it "common case" do
59
59
  class CommonCaseASpec < Rad::Conveyors::Processor
60
60
  def call
61
61
  workspace.result << :a_before
62
-
62
+
63
63
  begin
64
64
  next_processor.call
65
65
  rescue StandardError => e
66
66
  workspace.result << e.message
67
67
  end
68
68
  end
69
- end
70
-
69
+ end
70
+
71
71
  class CommonCaseBSpec < Rad::Conveyors::Processor
72
72
  def call
73
73
  workspace.result << :b_before
74
74
  raise 'error before'
75
75
  end
76
76
  end
77
-
77
+
78
78
  conveyors.web.use CommonCaseASpec
79
79
  conveyors.web.use CommonCaseBSpec
80
80
  call_conveyor.should == [:a_before, :b_before, "error before"]
81
81
  end
82
-
82
+
83
83
  it "should raise error if not catched" do
84
84
  class NotCatchedErrorSpec < Rad::Conveyors::Processor
85
85
  def call
@@ -87,39 +87,39 @@ describe "Conveyor" do
87
87
  raise 'error before'
88
88
  end
89
89
  end
90
-
90
+
91
91
  conveyors.web.use NotCatchedErrorSpec
92
92
  lambda{call_conveyor}.should raise_error(/error before/)
93
93
  end
94
-
94
+
95
95
  it "in after block" do
96
96
  class ErrorInAfterBlockASpec < Rad::Conveyors::Processor
97
97
  def call
98
98
  workspace.result << :a_before
99
-
99
+
100
100
  begin
101
101
  next_processor.call
102
102
  rescue StandardError => e
103
103
  workspace.result << e.message
104
104
  end
105
105
  end
106
- end
107
-
108
-
106
+ end
107
+
108
+
109
109
  class ErrorInAfterBlockBSpec < Rad::Conveyors::Processor
110
110
  def call
111
111
  workspace.result << :b_before
112
112
  next_processor.call
113
- raise 'error after'
113
+ raise 'error after'
114
114
  end
115
115
  end
116
-
117
-
116
+
117
+
118
118
  conveyors.web.use ErrorInAfterBlockASpec
119
119
  conveyors.web.use ErrorInAfterBlockBSpec
120
120
  call_conveyor.should == [:a_before, :b_before, "error after"]
121
121
  end
122
-
122
+
123
123
  it "bubbling (from error)" do
124
124
  class ErrorBubblingASpec < Rad::Conveyors::Processor
125
125
  def call
@@ -130,16 +130,16 @@ describe "Conveyor" do
130
130
  end
131
131
  end
132
132
  end
133
-
133
+
134
134
  class ErrorBubblingBSpec < Rad::Conveyors::Processor
135
135
  def call
136
136
  raise 'error'
137
137
  end
138
- end
139
-
138
+ end
139
+
140
140
  conveyors.web.use ErrorBubblingASpec
141
141
  conveyors.web.use ErrorBubblingBSpec
142
-
142
+
143
143
  call_conveyor.should == ['error']
144
144
  end
145
145
  end
@@ -3,20 +3,20 @@ require 'spec_helper'
3
3
  require 'rad'
4
4
  require 'rad/spec/environment'
5
5
 
6
- describe 'Config' do
6
+ describe 'Config' do
7
7
  before do
8
8
  rad.mode = :development, true
9
- @c = Rad::Config.new key: 'value', key2: 'value2'
9
+ @c = Rad::Config.new key: 'value', key2: 'value2'
10
10
  end
11
11
  after{rad.mode = :test, true}
12
-
12
+
13
13
  it "clone" do
14
14
  c = Rad::Config.new a: {b: :c}
15
-
16
- c2 = c.clone
15
+
16
+ c2 = c.clone
17
17
  c.a.delete :b
18
18
  c.delete :a
19
-
19
+
20
20
  c2.a[:b].should == :c
21
21
  end
22
22
  end