merb-core 0.9.13 → 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data/Rakefile +5 -3
  2. data/lib/merb-core.rb +84 -41
  3. data/lib/merb-core/bootloader.rb +71 -60
  4. data/lib/merb-core/config.rb +31 -17
  5. data/lib/merb-core/controller/abstract_controller.rb +35 -35
  6. data/lib/merb-core/controller/exceptions.rb +14 -9
  7. data/lib/merb-core/controller/merb_controller.rb +22 -20
  8. data/lib/merb-core/controller/mime.rb +5 -5
  9. data/lib/merb-core/controller/mixins/authentication.rb +11 -8
  10. data/lib/merb-core/controller/mixins/conditional_get.rb +7 -7
  11. data/lib/merb-core/controller/mixins/controller.rb +15 -15
  12. data/lib/merb-core/controller/mixins/render.rb +16 -16
  13. data/lib/merb-core/controller/mixins/responder.rb +23 -23
  14. data/lib/merb-core/controller/template.rb +17 -17
  15. data/lib/merb-core/core_ext/hash.rb +2 -2
  16. data/lib/merb-core/core_ext/kernel.rb +19 -18
  17. data/lib/merb-core/dispatch/cookies.rb +13 -0
  18. data/lib/merb-core/dispatch/default_exception/default_exception.rb +12 -1
  19. data/lib/merb-core/dispatch/dispatcher.rb +6 -5
  20. data/lib/merb-core/dispatch/request.rb +56 -52
  21. data/lib/merb-core/dispatch/request_parsers.rb +7 -7
  22. data/lib/merb-core/dispatch/router.rb +14 -14
  23. data/lib/merb-core/dispatch/router/behavior.rb +31 -31
  24. data/lib/merb-core/dispatch/router/cached_proc.rb +13 -1
  25. data/lib/merb-core/dispatch/router/resources.rb +9 -9
  26. data/lib/merb-core/dispatch/router/route.rb +60 -7
  27. data/lib/merb-core/dispatch/session.rb +21 -15
  28. data/lib/merb-core/dispatch/session/container.rb +10 -8
  29. data/lib/merb-core/dispatch/session/cookie.rb +12 -11
  30. data/lib/merb-core/dispatch/session/memcached.rb +4 -2
  31. data/lib/merb-core/dispatch/session/memory.rb +8 -6
  32. data/lib/merb-core/dispatch/session/store_container.rb +6 -5
  33. data/lib/merb-core/dispatch/worker.rb +28 -10
  34. data/lib/merb-core/gem_ext/erubis.rb +4 -2
  35. data/lib/merb-core/logger.rb +3 -22
  36. data/lib/merb-core/plugins.rb +5 -5
  37. data/lib/merb-core/rack.rb +1 -1
  38. data/lib/merb-core/rack/adapter.rb +5 -1
  39. data/lib/merb-core/rack/adapter/abstract.rb +15 -10
  40. data/lib/merb-core/rack/adapter/ebb.rb +4 -2
  41. data/lib/merb-core/rack/adapter/evented_mongrel.rb +2 -1
  42. data/lib/merb-core/rack/adapter/fcgi.rb +3 -1
  43. data/lib/merb-core/rack/adapter/irb.rb +10 -1
  44. data/lib/merb-core/rack/adapter/mongrel.rb +5 -2
  45. data/lib/merb-core/rack/adapter/runner.rb +3 -1
  46. data/lib/merb-core/rack/adapter/swiftiplied_mongrel.rb +2 -1
  47. data/lib/merb-core/rack/adapter/thin.rb +4 -1
  48. data/lib/merb-core/rack/adapter/thin_turbo.rb +1 -0
  49. data/lib/merb-core/rack/adapter/webrick.rb +8 -34
  50. data/lib/merb-core/rack/application.rb +2 -2
  51. data/lib/merb-core/rack/handler/mongrel.rb +7 -0
  52. data/lib/merb-core/rack/helpers.rb +1 -1
  53. data/lib/merb-core/rack/middleware.rb +7 -1
  54. data/lib/merb-core/rack/middleware/conditional_get.rb +3 -0
  55. data/lib/merb-core/rack/middleware/content_length.rb +2 -0
  56. data/lib/merb-core/rack/middleware/path_prefix.rb +4 -0
  57. data/lib/merb-core/rack/middleware/profiler.rb +3 -1
  58. data/lib/merb-core/rack/middleware/static.rb +7 -1
  59. data/lib/merb-core/rack/middleware/tracer.rb +1 -0
  60. data/lib/merb-core/rack/stream_wrapper.rb +35 -30
  61. data/lib/merb-core/server.rb +17 -16
  62. data/lib/merb-core/tasks/gem_management.rb +1 -1
  63. data/lib/merb-core/tasks/merb.rb +3 -1
  64. data/lib/merb-core/tasks/merb_rake_helper.rb +1 -1
  65. data/lib/merb-core/test.rb +8 -8
  66. data/lib/merb-core/test/helpers.rb +1 -1
  67. data/lib/merb-core/test/helpers/cookie_jar.rb +16 -2
  68. data/lib/merb-core/test/helpers/mock_request_helper.rb +13 -13
  69. data/lib/merb-core/test/helpers/request_helper.rb +1 -1
  70. data/lib/merb-core/test/helpers/route_helper.rb +2 -2
  71. data/lib/merb-core/test/matchers.rb +3 -3
  72. data/lib/merb-core/test/matchers/request_matchers.rb +1 -1
  73. data/lib/merb-core/test/run_spec.rb +1 -1
  74. data/lib/merb-core/test/tasks/spectasks.rb +1 -1
  75. data/lib/merb-core/test/test_ext/hpricot.rb +1 -1
  76. data/lib/merb-core/test/test_ext/rspec.rb +2 -2
  77. data/lib/merb-core/test/test_ext/string.rb +1 -1
  78. data/lib/merb-core/version.rb +1 -1
  79. metadata +8 -22
  80. data/lib/merb-core/test/matchers/view_matchers.rb +0 -231
  81. data/lib/merb-core/test/webrat.rb +0 -37
  82. data/lib/merb-core/vendor/nokogiri/css.rb +0 -6
  83. data/lib/merb-core/vendor/nokogiri/css/generated_parser.rb +0 -653
  84. data/lib/merb-core/vendor/nokogiri/css/generated_tokenizer.rb +0 -159
  85. data/lib/merb-core/vendor/nokogiri/css/node.rb +0 -95
  86. data/lib/merb-core/vendor/nokogiri/css/parser.rb +0 -24
  87. data/lib/merb-core/vendor/nokogiri/css/parser.y +0 -198
  88. data/lib/merb-core/vendor/nokogiri/css/tokenizer.rb +0 -9
  89. data/lib/merb-core/vendor/nokogiri/css/tokenizer.rex +0 -63
  90. data/lib/merb-core/vendor/nokogiri/css/xpath_visitor.rb +0 -159
@@ -1,6 +1,6 @@
1
1
  module Merb
2
2
  class Router
3
-
3
+
4
4
  module Resources
5
5
  # Behavior#+resources+ is a route helper for defining a collection of
6
6
  # RESTful resources. It yields to a block for child routes.
@@ -66,7 +66,7 @@ module Merb
66
66
  # posts.resources :comments
67
67
  # end
68
68
  #
69
- # @api public
69
+ # :api: public
70
70
  def resources(name, *args, &block)
71
71
  name = name.to_s
72
72
  options = extract_options_from_args!(args) || {}
@@ -223,7 +223,7 @@ module Merb
223
223
  # account.resources :preferences, :controller => "settings"
224
224
  # end
225
225
  #
226
- # @api public
226
+ # :api: public
227
227
  def resource(name, *args, &block)
228
228
  name = name.to_s
229
229
  options = extract_options_from_args!(args) || {}
@@ -271,7 +271,7 @@ module Merb
271
271
 
272
272
  protected
273
273
 
274
- #api private
274
+ # :api: private
275
275
  def register_resource(*key)
276
276
  options = extract_options_from_args!(key) || {}
277
277
  key = [ @options[:resource_prefix], key ].flatten.compact
@@ -281,7 +281,7 @@ module Merb
281
281
  self
282
282
  end
283
283
 
284
- #api private
284
+ # :api: private
285
285
  def resource_block(builders, &block)
286
286
  behavior = ResourceBehavior.new(builders, @proxy, @conditions, @params, @defaults, @identifiers, @options, @blocks)
287
287
  with_behavior_context(behavior, &block)
@@ -301,14 +301,14 @@ module Merb
301
301
  # Adding the collection and member methods to behavior
302
302
  class ResourceBehavior < Behavior #:nodoc:
303
303
 
304
- #api private
304
+ # :api: private
305
305
  def initialize(builders, *args)
306
306
  super(*args)
307
307
  @collection = builders[:collection]
308
308
  @member = builders[:member]
309
309
  end
310
310
 
311
- #api private
311
+ # :api: private
312
312
  def collection(action, options = {})
313
313
  action = action.to_s
314
314
  method = options[:method]
@@ -316,7 +316,7 @@ module Merb
316
316
  @collection[action, to, method]
317
317
  end
318
318
 
319
- # @api private
319
+ # :api: private
320
320
  def member(action, options = {})
321
321
  action = action.to_s
322
322
  method = options[:method]
@@ -326,4 +326,4 @@ module Merb
326
326
 
327
327
  end
328
328
  end
329
- end
329
+ end
@@ -10,10 +10,14 @@ module Merb
10
10
  JUST_BRACKETS = /\[(\d+)\]/
11
11
  SEGMENT_CHARACTERS = "[^\/.,;?]".freeze
12
12
 
13
+ # :api: private
13
14
  attr_reader :conditions, :params, :segments
15
+ # :api: private
14
16
  attr_reader :index, :variables, :name
17
+ # :api: private
15
18
  attr_accessor :fixation, :resource_identifiers
16
19
 
20
+ # :api: private
17
21
  def initialize(conditions, params, deferred_procs, options = {})
18
22
  @conditions, @params = conditions, params
19
23
 
@@ -35,18 +39,22 @@ module Merb
35
39
  compile
36
40
  end
37
41
 
42
+ # :api: private
38
43
  def regexp?
39
44
  @regexp
40
45
  end
41
-
46
+
47
+ # :api: private
42
48
  def generatable?
43
49
  @generatable && !regexp?
44
50
  end
45
51
 
52
+ # :api: private
46
53
  def allow_fixation?
47
54
  @fixation
48
55
  end
49
56
 
57
+ # :api: private
50
58
  def to_s
51
59
  regexp? ?
52
60
  "/#{conditions[:path].source}/" :
@@ -56,6 +64,8 @@ module Merb
56
64
  alias_method :inspect, :to_s
57
65
 
58
66
  # Appends self to Merb::Router.routes
67
+
68
+ # :api: private
59
69
  def register
60
70
  @index = Merb::Router.routes.size
61
71
  Merb::Router.routes << self
@@ -63,6 +73,7 @@ module Merb
63
73
  end
64
74
 
65
75
  # Inserts self to Merb::Router.routes at the specified index.
76
+ # :api: private
66
77
  def register_at(index)
67
78
  @index = index
68
79
  Merb::Router.routes.insert(index, self)
@@ -71,11 +82,13 @@ module Merb
71
82
 
72
83
  # Sets the route as a resource route with the given key as the
73
84
  # lookup key.
85
+ # :api: private
74
86
  def resource=(key)
75
87
  Router.resource_routes[key] = self
76
88
  key
77
89
  end
78
90
 
91
+ # :api: private
79
92
  def name=(name)
80
93
  @name = name.to_sym
81
94
  Router.named_routes[@name] = self
@@ -102,6 +115,8 @@ module Merb
102
115
  #
103
116
  # ==== Returns
104
117
  # String:: The generated URL.
118
+ #
119
+ # :api: private
105
120
  def generate(args = [], defaults = {}, resource = false)
106
121
  unless generatable?
107
122
  raise GenerationError, "Cannot generate regexp Routes" if regexp?
@@ -144,6 +159,8 @@ module Merb
144
159
  #
145
160
  # param_keys that end in _id are treated slightly differently in order
146
161
  # to get nested resources to work correctly.
162
+ #
163
+ # :api: private
147
164
  def identify(obj, param_key = nil)
148
165
  identifier = identifier_for(obj)
149
166
  if identifier.is_a?(Array)
@@ -161,6 +178,8 @@ module Merb
161
178
  # Returns the identifier for the passed object. Built in core ruby classes are
162
179
  # always identified with to_s. The method will return nil in that case (since
163
180
  # to_s is the default for objects that do not have identifiers.)
181
+ #
182
+ # :api: private
164
183
  def identifier_for(obj)
165
184
  return if obj.is_a?(String) || obj.is_a?(Symbol) || obj.is_a?(Numeric) ||
166
185
  obj.is_a?(TrueClass) || obj.is_a?(FalseClass) || obj.is_a?(NilClass) ||
@@ -175,6 +194,8 @@ module Merb
175
194
 
176
195
  # Returns the if statement and return value for for the main
177
196
  # Router.match compiled method.
197
+ #
198
+ # :api: private
178
199
  def compiled_statement(first)
179
200
  els_if = first ? ' if ' : ' elsif '
180
201
 
@@ -197,6 +218,7 @@ module Merb
197
218
 
198
219
  # === Compilation ===
199
220
 
221
+ # :api: private
200
222
  def compile
201
223
  compile_conditions
202
224
  compile_params
@@ -206,7 +228,8 @@ module Merb
206
228
  # The Generator class handles compiling the route down to a lambda that
207
229
  # can generate the URL from a params hash and a default params hash.
208
230
  class Generator #:nodoc:
209
-
231
+
232
+ # :api: private
210
233
  def initialize(segments, symbol_conditions, identifiers)
211
234
  @segments = segments
212
235
  @symbol_conditions = symbol_conditions
@@ -216,6 +239,8 @@ module Merb
216
239
  @opt_segment_stack = [[]]
217
240
  end
218
241
 
242
+ #
243
+ # :api: private
219
244
  def compiled
220
245
  ruby = ""
221
246
  ruby << "lambda do |params, defaults|\n"
@@ -242,6 +267,8 @@ module Merb
242
267
 
243
268
  # Cleans up methods a bunch. We don't need to pass the current segment
244
269
  # level around everywhere anymore. It's kept track for us in the stack.
270
+ #
271
+ # :api: private
245
272
  def with(segments, &block)
246
273
  @stack.push(segments)
247
274
  retval = yield
@@ -249,22 +276,27 @@ module Merb
249
276
  retval
250
277
  end
251
278
 
279
+ # :api: private
252
280
  def segments
253
281
  @stack.last || []
254
282
  end
255
-
283
+
284
+ # :api: private
256
285
  def symbol_segments
257
286
  segments.flatten.select { |s| s.is_a?(Symbol) }
258
287
  end
259
-
288
+
289
+ # :api: private
260
290
  def current_segments
261
291
  segments.select { |s| s.is_a?(Symbol) }
262
292
  end
263
-
293
+
294
+ # :api: private
264
295
  def nested_segments
265
296
  segments.select { |s| s.is_a?(Array) }.flatten.select { |s| s.is_a?(Symbol) }
266
297
  end
267
-
298
+
299
+ # :api: private
268
300
  def block_for_level
269
301
  ruby = ""
270
302
  ruby << "if #{segment_level_matches_conditions}\n"
@@ -273,7 +305,8 @@ module Merb
273
305
  ruby << %{ "#{combine_required_and_optional_segments}"\n}
274
306
  ruby << "end"
275
307
  end
276
-
308
+
309
+ # :api: private
277
310
  def check_if_defaults_should_be_included
278
311
  ruby = ""
279
312
  ruby << "include_defaults = "
@@ -282,6 +315,7 @@ module Merb
282
315
  end
283
316
 
284
317
  # --- Not so pretty ---
318
+ # :api: private
285
319
  def segment_level_matches_conditions
286
320
  conditions = current_segments.map do |segment|
287
321
  condition = "(cached_#{segment} = params[#{segment.inspect}] || include_defaults && defaults[#{segment.inspect}])"
@@ -299,10 +333,12 @@ module Merb
299
333
  conditions.join(" && ")
300
334
  end
301
335
 
336
+ # :api: private
302
337
  def remove_used_segments_in_query_path
303
338
  "#{current_segments.inspect}.each { |s| query_params.delete(s) }"
304
339
  end
305
340
 
341
+ # :api: private
306
342
  def generate_optional_segments
307
343
  optionals = []
308
344
 
@@ -321,6 +357,7 @@ module Merb
321
357
  optionals.join("\n")
322
358
  end
323
359
 
360
+ # :api: private
324
361
  def combine_required_and_optional_segments
325
362
  bits = ""
326
363
 
@@ -340,6 +377,7 @@ module Merb
340
377
 
341
378
  # === Conditions ===
342
379
 
380
+ # :api: private
343
381
  def compile_conditions
344
382
  @original_conditions = conditions.dup
345
383
 
@@ -360,6 +398,8 @@ module Merb
360
398
  # to concat all the parts together, then parse the path and extract the
361
399
  # variables. However, if any of the parts are a regular expression, then
362
400
  # we abort the parsing and just convert it to a regexp.
401
+ #
402
+ # :api: private
363
403
  def compile_path(path)
364
404
  @segments = []
365
405
  compiled = ""
@@ -397,6 +437,8 @@ module Merb
397
437
  end
398
438
 
399
439
  # Simple nested parenthesis parser
440
+ #
441
+ # :api: private
400
442
  def segments_with_optionals_from_string(path, nest_level = 0)
401
443
  segments = []
402
444
 
@@ -425,6 +467,7 @@ module Merb
425
467
  segments
426
468
  end
427
469
 
470
+ # :api: private
428
471
  def segments_from_string(path)
429
472
  segments = []
430
473
 
@@ -441,6 +484,7 @@ module Merb
441
484
  end
442
485
 
443
486
  # --- Yeah, this could probably be refactored
487
+ # :api: private
444
488
  def compile_path_segments(compiled, segments)
445
489
  segments.each do |segment|
446
490
  case segment
@@ -463,6 +507,7 @@ module Merb
463
507
  end
464
508
 
465
509
  # Handles anchors in Regexp conditions
510
+ # :api: private
466
511
  def compile_segment_condition(condition)
467
512
  return "(#{SEGMENT_CHARACTERS}+)" unless condition
468
513
  return "(#{condition})" unless condition.is_a?(Regexp)
@@ -484,6 +529,7 @@ module Merb
484
529
  "(#{condition})"
485
530
  end
486
531
 
532
+ # :api: private
487
533
  def compile_params
488
534
  # Loop through each param and compile it
489
535
  @defaults.merge(@params).each do |key, value|
@@ -498,6 +544,7 @@ module Merb
498
544
  end
499
545
 
500
546
  # This was pretty much a copy / paste from the old router
547
+ # :api: private
501
548
  def compile_param(value)
502
549
  result = []
503
550
  match = true
@@ -531,6 +578,7 @@ module Merb
531
578
  result.join(' + ').gsub("\\_", "_")
532
579
  end
533
580
 
581
+ # :api: private
534
582
  def condition_statements
535
583
  statements = []
536
584
 
@@ -576,6 +624,7 @@ module Merb
576
624
  end
577
625
 
578
626
  # (request.matched? || ((block_result = process(proc.call))))
627
+ # :api: private
579
628
  def deferred_condition_statement(deferred)
580
629
  if current = deferred.first
581
630
  html = " && (request.matched? || ("
@@ -589,6 +638,7 @@ module Merb
589
638
  end
590
639
  end
591
640
 
641
+ # :api: private
592
642
  def params_as_string
593
643
  elements = params.keys.map do |k|
594
644
  "#{k.inspect} => #{params[k]}"
@@ -598,6 +648,7 @@ module Merb
598
648
 
599
649
  # ---------- Utilities ----------
600
650
 
651
+ # :api: private
601
652
  def arrays_to_regexps(condition)
602
653
  return condition unless condition.is_a?(Array)
603
654
 
@@ -613,6 +664,7 @@ module Merb
613
664
  Regexp.compile(source.join('|'))
614
665
  end
615
666
 
667
+ # :api: private
616
668
  def segment_level_to_s(segments)
617
669
  (segments || []).inject('') do |str, seg|
618
670
  str << case seg
@@ -623,6 +675,7 @@ module Merb
623
675
  end
624
676
  end
625
677
 
678
+ # :api: private
626
679
  def capturing_parentheses_count(regexp)
627
680
  regexp = regexp.source if regexp.is_a?(Regexp)
628
681
  regexp.scan(/(?!\\)[(](?!\?[#=:!>-imx])/).length
@@ -7,7 +7,7 @@ module Merb
7
7
  # configured session stores (:session_stores config option)
8
8
  # or default one (:session_store config option).
9
9
  #
10
- # @api private
10
+ # :api: private
11
11
  def self.session_stores
12
12
  @session_stores ||= begin
13
13
  config_stores = Array(
@@ -49,7 +49,7 @@ module Merb
49
49
  # Raised when storing more data than the available space reserved.
50
50
  class SessionOverflow < StandardError; end
51
51
 
52
- # @api private
52
+ # :api: private
53
53
  def self.included(base)
54
54
  # Register a callback to finalize sessions - needs to run before the cookie
55
55
  # callback extracts Set-Cookie headers from request.cookies.
@@ -61,6 +61,8 @@ module Merb
61
61
  #
62
62
  # ==== Returns
63
63
  # SessionContainer:: The session that was extracted from the request object.
64
+ #
65
+ # :api: public
64
66
  def session(session_store = nil)
65
67
  request.session(session_store)
66
68
  end
@@ -69,6 +71,8 @@ module Merb
69
71
 
70
72
  # ==== Returns
71
73
  # String:: A random 32 character string for use as a unique session ID.
74
+ #
75
+ # :api: private
72
76
  def rand_uuid
73
77
  values = [
74
78
  rand(0x0010000),
@@ -84,7 +88,7 @@ module Merb
84
88
 
85
89
  # Marks this session as needing a new cookie.
86
90
  #
87
- # @api private
91
+ # :api: private
88
92
  def needs_new_cookie!
89
93
  @_new_cookie = true
90
94
  end
@@ -94,7 +98,7 @@ module Merb
94
98
  # ==== Returns
95
99
  # Boolean:: true if a new cookie is needed, false otherwise.
96
100
  #
97
- # @api private
101
+ # :api: private
98
102
  def needs_new_cookie?
99
103
  @_new_cookie
100
104
  end
@@ -106,6 +110,8 @@ module Merb
106
110
  # Adds class methods to Merb::Request object.
107
111
  # Sets up repository of session store types.
108
112
  # Sets the session ID key and expiry values.
113
+ #
114
+ # :api: private
109
115
  def self.included(base)
110
116
  base.extend ClassMethods
111
117
 
@@ -129,7 +135,7 @@ module Merb
129
135
  # === Notres
130
136
  # This is automatically called when Merb::SessionContainer is subclassed.
131
137
  #
132
- # @api private
138
+ # :api: private
133
139
  def register_session_type(name, class_name)
134
140
  self.registered_session_types[name.to_sym] = class_name
135
141
  end
@@ -138,7 +144,7 @@ module Merb
138
144
 
139
145
  # The default session store type.
140
146
  #
141
- # @api private
147
+ # :api: private
142
148
  def default_session_store
143
149
  Merb::Config[:session_store] && Merb::Config[:session_store].to_sym
144
150
  end
@@ -146,7 +152,7 @@ module Merb
146
152
  # ==== Returns
147
153
  # Hash:: All active session stores by type.
148
154
  #
149
- # @api private
155
+ # :api: private
150
156
  def session_stores
151
157
  @session_stores ||= {}
152
158
  end
@@ -166,7 +172,7 @@ module Merb
166
172
  # SessionContainer::
167
173
  # an instance of a session store extending Merb::SessionContainer.
168
174
  #
169
- # @api public
175
+ # :api: public
170
176
  def session(session_store = nil)
171
177
  session_store ||= default_session_store
172
178
  if class_name = self.class.registered_session_types[session_store]
@@ -188,7 +194,7 @@ module Merb
188
194
  # === Notes
189
195
  # The session is assigned internally by its session_store_type key.
190
196
  #
191
- # @api private
197
+ # :api: private
192
198
  def session=(new_session)
193
199
  if self.session?(new_session.class.session_store_type)
194
200
  original_session_id = self.session(new_session.class.session_store_type).session_id
@@ -204,7 +210,7 @@ module Merb
204
210
  # ==== Returns
205
211
  # Boolean:: true if the session is part of the session stores configured.
206
212
  #
207
- # @api private
213
+ # :api: private
208
214
  def session?(session_store = nil)
209
215
  (session_store ? [session_store] : session_stores).any? do |type, store|
210
216
  store.is_a?(Merb::SessionContainer)
@@ -213,7 +219,7 @@ module Merb
213
219
 
214
220
  # Teardown and/or persist the current sessions.
215
221
  #
216
- # @api private
222
+ # :api: private
217
223
  def finalize_session
218
224
  session_stores.each { |name, store| store.finalize(self) }
219
225
  end
@@ -221,7 +227,7 @@ module Merb
221
227
 
222
228
  # Assign default cookie values
223
229
  #
224
- # @api private
230
+ # :api: private
225
231
  def default_cookies
226
232
  defaults = {}
227
233
  if route && route.allow_fixation? && params.key?(_session_id_key)
@@ -237,7 +243,7 @@ module Merb
237
243
  # value<String>:: The value of the session cookie; either the session id or the actual encoded data.
238
244
  # options<Hash>:: Cookie options like domain, path and expired.
239
245
  #
240
- # @api private
246
+ # :api: private
241
247
  def set_session_cookie_value(value, options = {})
242
248
  defaults = {}
243
249
  defaults[:expires] = Time.now + _session_expiry if _session_expiry > 0
@@ -248,7 +254,7 @@ module Merb
248
254
  # ==== Returns
249
255
  # String:: The value of the session cookie; either the session id or the actual encoded data.
250
256
  #
251
- # @api private
257
+ # :api: private
252
258
  def session_cookie_value
253
259
  cookies[_session_id_key]
254
260
  end
@@ -256,7 +262,7 @@ module Merb
256
262
 
257
263
  # Destroy the session cookie.
258
264
  #
259
- # @api private
265
+ # :api: private
260
266
  def destroy_session_cookie
261
267
  cookies.delete(_session_id_key)
262
268
  end